{ "$id": "https://bitbucket.org/product/features/pipelines", "$schema": "http://json-schema.org/draft-07/schema#", "description": "Custom JSON schema for bitbucket-pipelines.yml", "properties": { "clone": { "$ref": "#/components/schemas/clone" }, "definitions": { "description": "The definitions of caches and services used in the declared pipelines.", "properties": { "caches": { "additionalProperties": { "$ref": "#/components/schemas/cache" }, "title": "Custom cache definitions", "type": "object" }, "imports": { "pipelines": { "additionalProperties": { "$ref": "#/components/schemas/import_source" }, "description": "Definitions of the pipelines imports that can be used in this file.", "title": "Import source definitions", "type": "object" } }, "pipelines": { "additionalProperties": { "$ref": "#/components/schemas/custom_pipeline" }, "description": "Definitions of the pipelines which can be used in other repositories of the same Bitbucket workspace.", "title": "Shared pipeline definitions", "type": "object" }, "services": { "additionalProperties": { "$ref": "#/components/schemas/service" }, "title": "Service definitions", "type": "object" } }, "title": "Global Definitions", "type": "object" }, "export": { "default": false, "description": "Allows other Bitbucket repositories to import pipeline definitions from this file. A shared pipeline definition can't contain another `import` property.", "title": "Enables shared pipelines definitions.", "type": "boolean" }, "image": { "$ref": "#/components/schemas/image" }, "labels": { "description": "Additional key value data supplied in the configuration YAML.", "example": { "buildTool": "maven", "jvm": "jdk17" }, "title": "Pipeline Labels", "type": "object" }, "options": { "description": "Global options allow to override the default values applied to all steps in all declared pipelines.", "properties": { "docker": { "default": false, "description": "Enables Docker service for every step.", "type": "boolean" }, "max-time": { "$ref": "#/components/schemas/max_time" }, "runs-on": { "$ref": "#/components/schemas/runs_on" }, "runtime": { "$ref": "#/components/schemas/runtime" }, "size": { "$ref": "#/components/schemas/size" } }, "title": "Global Options", "type": "object" }, "pipelines": { "properties": { "branches": { "additionalProperties": { "$ref": "#/components/schemas/pipeline" }, "description": "Branch-specific build pipelines.", "title": "Branch Pipelines", "type": "object" }, "custom": { "additionalProperties": { "$ref": "#/components/schemas/custom_pipeline" }, "description": "Pipelines that can only be triggered manually or be scheduled.", "title": "Custom Pipelines", "type": "object" }, "default": { "$ref": "#/components/schemas/pipeline", "description": "Default pipeline runs on every push except for tags unless a branch-specific pipeline is defined.", "title": "Default Pipeline" }, "pull-requests": { "additionalProperties": { "$ref": "#/components/schemas/pull_requests_pipeline" }, "description": "Pull-request-specific build pipelines.", "title": "Pull Request Pipelines", "type": "object" }, "tags": { "additionalProperties": { "$ref": "#/components/schemas/pipeline" }, "description": "Tag-specific build pipelines.", "title": "Tag Pipelines", "type": "object" } }, "title": "Pipelines", "type": "object" }, "triggers": { "additionalProperties": { "$ref": "#/components/schemas/trigger_configuration_list" }, "description": "Event-based triggers that automatically run pipelines when specific events occur. The property names represent trigger types (e.g., repository-push, pullrequest-push, pipeline-completed, deployment-completed, pullrequest-created).", "example": { "deployment-completed": [ { "condition": "BITBUCKET_TRIGGER_DEPLOYMENT_STATUS == \"FAILED\"", "pipelines": ["pipeline2"] } ], "pipeline-completed": [ { "condition": "BITBUCKET_TRIGGER_PIPELINE_STATUS == \"FAILED\"", "pipelines": ["pipeline1"] } ], "pullrequest-created": [ { "condition": "glob(BITBUCKET_BRANCH, \"feature/*\")", "pipelines": ["pipeline1"] } ], "pullrequest-fulfilled": [ { "condition": "glob(BITBUCKET_BRANCH, \"feature/*\")", "pipelines": ["pipeline2"] } ], "pullrequest-push": [ { "condition": "BITBUCKET_PR_DESTINATION_BRANCH == \"main\"", "pipelines": ["pipeline2"] } ], "pullrequest-rejected": [ { "condition": "glob(BITBUCKET_BRANCH, \"feature/*\")", "pipelines": ["pipeline1"] } ], "pullrequest-reviewer-status-updated": [ { "condition": "glob(BITBUCKET_BRANCH, \"feature/*\")", "pipelines": ["pipeline1"] } ], "pullrequest-updated": [ { "condition": "glob(BITBUCKET_BRANCH, \"feature/*\")", "pipelines": ["pipeline2"] } ], "repository-push": [ { "condition": "BITBUCKET_BRANCH == \"main\"", "pipelines": ["pipeline1"] } ] }, "title": "Pipeline Triggers", "type": "object" } }, "type": "object", "components": { "schemas": { "artifacts": { "oneOf": [ { "$ref": "#/components/schemas/artifacts_paths" }, { "$ref": "#/components/schemas/artifacts_expanded" } ] }, "artifacts_expanded": { "properties": { "download": { "oneOf": [ { "default": true, "description": "Enables downloading of all available artifacts at the end of a step.", "type": "boolean" }, { "description": "Define the list of filtered artifacts to be downloaded by the step.", "items": { "type": "string" }, "minItems": 1, "type": "array" } ] }, "paths": { "$ref": "#/components/schemas/artifacts_paths" }, "upload": { "items": { "$ref": "#/components/schemas/artifacts_upload" }, "minItems": 1, "type": "array" } }, "type": "object" }, "artifacts_paths": { "items": { "description": "Glob pattern for the path to the artifacts.", "title": "Artifact Path Pattern", "type": "string" }, "minItems": 1, "type": "array" }, "artifacts_upload": { "description": "The artifact to be uploaded.", "properties": { "capture-on": { "description": "The capture on field for the artifact.", "enum": ["success", "failed", "always"], "title": "Artifact Capture On", "type": "string" }, "depth": { "description": "The depth to search for the artifact files.", "minimum": 1, "title": "Artifact Depth", "type": "integer" }, "ignore-paths": { "description": "The ignore paths for the artifact.", "items": { "description": "Glob pattern for paths to ignore when capturing artifacts.", "title": "Ignore Path Pattern", "type": "string" }, "title": "Artifact Ignore Paths", "type": "array" }, "name": { "description": "The name of the artifact.", "title": "Artifact Name", "type": "string" }, "paths": { "$ref": "#/components/schemas/artifacts_paths" }, "type": { "default": "shared", "description": "The type of the artifact.", "enum": ["shared", "scoped", "test-reports"], "title": "Artifact Type", "type": "string" } }, "required": ["name", "paths"], "title": "Artifact Upload object", "type": "object" }, "cache": { "oneOf": [ { "$ref": "#/components/schemas/cache_path" }, { "$ref": "#/components/schemas/cache_expanded" } ] }, "cache_expanded": { "properties": { "key": { "properties": { "files": { "description": "Checksum of these file paths will be used to generate the cache key.", "items": { "description": "Path to a file or glob pattern of files in the repository which form the cache key.", "type": "string" }, "minItems": 1, "type": "array" } }, "required": ["files"], "title": "Cache Key", "type": "object" }, "path": { "$ref": "#/components/schemas/cache_path" } }, "required": ["path"], "title": "Cache", "type": "object" }, "cache_path": { "description": "Path to the directory to be cached, can be absolute or relative to the clone directory.", "title": "Cache Path", "type": "string" }, "clone": { "description": "Settings for cloning a repository into a container.", "properties": { "depth": { "default": 50, "description": "The depth argument of Git clone operation. It can be either number or \"full\" value", "example": "full", "oneOf": [ { "minimum": 1, "type": "integer" }, { "enum": ["full"], "type": "string" } ], "title": "Git Clone Depth" }, "enabled": { "default": true, "description": "Enables cloning of the repository.", "type": "boolean" }, "lfs": { "default": false, "description": "Enables the download of files from LFS storage when cloning.", "type": "boolean" }, "skip-ssl-verify": { "default": false, "description": "Disables SSL verification during Git clone operation, allowing the use of self-signed certificates.", "type": "boolean" } }, "title": "Clone Repository Settings", "type": "object" }, "cloud": { "description": "Custom cloud step runtime", "properties": { "arch": { "default": "x86", "description": "Architecture type used to run the step.", "enum": ["x86", "arm"], "type": "string" }, "atlassian-ip-ranges": { "default": false, "description": "Whether it uses Atlassian ip ranges.", "type": "boolean" }, "instance-type": { "description": "Instance type for the cloud runtime.", "type": "string" }, "version": { "description": "Cloud Runtime version.", "type": "string" } }, "title": "Cloud step runtime", "type": "object" }, "condition": { "properties": { "changesets": { "additionalProperties": false, "description": "Condition on the changesets involved in the pipeline.", "maxProperties": 1, "properties": { "excludePaths": { "description": "Condition which holds only if all of the modified files match any of the specified patterns.", "items": { "description": "Glob pattern to match the file path.", "title": "File Path Pattern", "type": "string" }, "minItems": 1, "title": "Exclude Paths", "type": "array" }, "includePaths": { "description": "Condition which holds only if any of the modified files match any of the specified patterns.", "items": { "description": "Glob pattern to match the file path.", "title": "File Path Pattern", "type": "string" }, "minItems": 1, "title": "Include Paths", "type": "array" } }, "title": "Changeset Condition", "type": "object" } }, "required": ["changesets"], "type": "object" }, "custom_pipeline": { "oneOf": [ { "$ref": "#/components/schemas/items_with_variables" }, { "$ref": "#/components/schemas/import_pipeline" } ] }, "fail_fast": { "default": false, "title": "Fail Fast", "type": "boolean" }, "final_item": { "additionalProperties": false, "properties": { "final": { "$ref": "#/components/schemas/final_step" } }, "type": "object" }, "final_step": { "allOf": [ { "$ref": "#/components/schemas/step_base" }, { "description": "A special step that always runs at the end of a pipeline, even if earlier steps fail or the pipeline is stopped. Only one final step is allowed per pipeline and it must be the last item.", "properties": { "deployment": { "not": {} }, "fail-fast": { "not": {} }, "trigger": { "description": "The final step always runs automatically. Manual trigger is not supported.", "enum": ["automatic"], "type": "string" } }, "title": "Final Pipeline Step", "type": "object" } ] }, "image": { "oneOf": [ { "$ref": "#/components/schemas/image_no_auth" }, { "$ref": "#/components/schemas/image_basic_auth" }, { "$ref": "#/components/schemas/image_aws_auth" }, { "$ref": "#/components/schemas/image_name" } ] }, "image_aws_auth": { "allOf": [ { "$ref": "#/components/schemas/image_base" }, { "properties": { "aws": { "oneOf": [ { "properties": { "access-key": { "description": "The access key for Amazon Elastic Container Registry (AWS ECR).", "title": "AWS Access Key", "type": "string" }, "secret-key": { "description": "The secret key for Amazon Elastic Container Registry (AWS ECR).", "title": "AWS Secret Key", "type": "string" } }, "required": [ "access-key", "secret-key" ], "type": "object" }, { "properties": { "oidc-role": { "description": "OIDC role with access to private Docker images hosted in Amazon Elastic Container Registry (AWS ECR).", "title": "OpenID Connect Role", "type": "string" } }, "required": ["oidc-role"], "type": "object" } ] } }, "required": ["aws"], "type": "object" } ] }, "image_base": { "description": "The parameters of the Docker image to use when running a step.", "properties": { "name": { "$ref": "#/components/schemas/image_name" }, "run-as-user": { "default": 0, "description": "The UID of a user in the docker image to run as. Overrides image's default user, specified user UID must be an existing user in the image with a valid home directory.", "title": "User ID", "type": "integer" } }, "required": ["name"], "title": "Docker Image Configuration", "type": "object" }, "image_basic_auth": { "allOf": [ { "$ref": "#/components/schemas/image_base" }, { "properties": { "password": { "description": "The password to use when fetching the Docker image.", "title": "Docker Registry Password", "type": "string" }, "username": { "description": "The username to use when fetching the Docker image.", "title": "Docker Registry Username", "type": "string" } }, "required": ["username", "password"], "type": "object" } ] }, "image_name": { "default": "atlassian/default-image:latest", "description": "The name of the Docker image which may or may not include registry URL, tag, and digest value.", "title": "Docker Image Name", "type": "string" }, "image_no_auth": { "allOf": [ { "$ref": "#/components/schemas/image_base" }, { "properties": { "aws": { "not": {} }, "password": { "not": {} }, "username": { "not": {} } }, "type": "object" } ] }, "import_inline_pipeline": { "additionalProperties": false, "properties": { "import": { "description": "The import needs to match the following format: {repo-slug|repo-uuid}:{tag-name|branch-name}:{pipeline-name}.", "pattern": "^[^:]+:[^:]+:[^:]+$", "title": "Identifier of the pipeline configuration to import", "type": "string" } }, "required": ["import"], "type": "object" }, "import_pipeline": { "oneOf": [ { "$ref": "#/components/schemas/import_inline_pipeline" }, { "$ref": "#/components/schemas/import_source_pipeline" } ] }, "import_source": { "additionalProperties": false, "properties": { "import": { "description": "The import needs to match one of the following formats: {file-path} or {repo-slug|repo-uuid}:{tag-name|branch-name} or {repo-slug|repo-uuid}:{tag-name|branch-name}:{file-path}.", "pattern": "^[^:]+(:[^:]+)?(:[^:]+)?$", "title": "Location of pipeline configuration to import pipelines from", "type": "string" } }, "required": ["import"], "type": "object" }, "import_source_pipeline": { "additionalProperties": false, "properties": { "import": { "description": "The import needs to match the following format: {pipeline-name}@{import-source-name}.", "pattern": "^[^@]+@[^@]+$", "title": "Identifier of the pipeline configuration to import", "type": "string" } }, "required": ["import"], "type": "object" }, "items": { "description": "List of steps, stages and parallel groups of the pipeline.", "items": { "oneOf": [ { "$ref": "#/components/schemas/step_item" }, { "$ref": "#/components/schemas/parallel_item" }, { "$ref": "#/components/schemas/stage_item" }, { "$ref": "#/components/schemas/final_item" } ] }, "minItems": 1, "title": "Pipeline Items", "type": "array" }, "items_with_variables": { "description": "List of variables, steps, stages and parallel groups of the custom pipeline.", "items": { "oneOf": [ { "$ref": "#/components/schemas/variables_item" }, { "$ref": "#/components/schemas/step_item" }, { "$ref": "#/components/schemas/parallel_item" }, { "$ref": "#/components/schemas/stage_item" } ] }, "minItems": 1, "title": "Custom Pipeline Items", "type": "array" }, "max_time": { "default": 120, "description": "The maximum time a step can execute for in minutes.", "example": 60, "exclusiveMinimum": 0, "type": "integer" }, "parallel": { "oneOf": [ { "$ref": "#/components/schemas/parallel_steps" }, { "$ref": "#/components/schemas/parallel_expanded" } ] }, "parallel_expanded": { "properties": { "fail-fast": { "$ref": "#/components/schemas/fail_fast", "description": "Stop the whole parallel group in case one of its steps fails." }, "steps": { "$ref": "#/components/schemas/parallel_steps" } }, "required": ["steps"], "type": "object" }, "parallel_item": { "additionalProperties": false, "properties": { "parallel": { "$ref": "#/components/schemas/parallel" } }, "type": "object" }, "parallel_steps": { "description": "List of steps in the parallel group to run concurrently.", "items": { "$ref": "#/components/schemas/step_item" }, "minItems": 1, "title": "Parallel Group Steps", "type": "array" }, "pipe": { "description": "The pipe to execute.", "example": { "pipe": "atlassian/test-pipe:2.2.0", "variables": { "BAZ": ["QUX", "QUZ"], "FOO": "BAR" } }, "properties": { "pipe": { "description": "The full pipe identifier.", "title": "Pipe Identifier", "type": "string" }, "variables": { "additionalProperties": { "description": "Environment variable value", "oneOf": [ { "type": "string" }, { "items": { "type": "string" }, "type": "array" } ] }, "description": "Environment variables passed to the pipe container.", "title": "Pipe Variables", "type": "object" } }, "required": ["pipe"], "title": "Pipe", "type": "object" }, "pipeline": { "oneOf": [ { "$ref": "#/components/schemas/items" }, { "$ref": "#/components/schemas/import_pipeline" } ] }, "pipelines_configuration": {}, "pull_requests_pipeline": { "oneOf": [ { "$ref": "#/components/schemas/items" }, { "properties": { "destinations": { "additionalProperties": { "$ref": "#/components/schemas/pipeline" }, "type": "object" } }, "type": "object" } ] }, "runs_on": { "oneOf": [ { "$ref": "#/components/schemas/runs_on_item" }, { "$ref": "#/components/schemas/runs_on_expanded" } ] }, "runs_on_expanded": { "description": "Required labels of a runner to run the step.", "example": ["self.hosted", "linux"], "items": { "$ref": "#/components/schemas/runs_on_item" }, "maxItems": 10, "minItems": 1, "title": "Step Runner Labels", "type": "array" }, "runs_on_item": { "description": "Label of a runner.", "maxLength": 50, "title": "Step Runner Label", "type": "string" }, "runtime": { "description": "Custom step runtime", "properties": { "cloud": { "$ref": "#/components/schemas/cloud" }, "self-hosted": { "$ref": "#/components/schemas/self-hosted" } }, "title": "Step Runtime", "type": "object" }, "script": { "items": { "oneOf": [ { "description": "The command to execute.", "example": "echo \"hello world\"", "title": "Script Command", "type": "string" }, { "$ref": "#/components/schemas/pipe" } ] }, "minItems": 1, "type": "array" }, "self-hosted": { "description": "Custom self-hosted step runtime", "properties": { "cpu": { "description": "Cpu available to runner.", "title": "Cpu", "type": "integer" }, "memory": { "description": "Memory (mb) available to runner.", "title": "Memory", "type": "integer" }, "storage": { "oneOf": [ { "properties": { "gcp": { "$ref": "#/components/schemas/storage_gcp_auth" } }, "required": ["gcp"], "type": "object" }, { "properties": { "aws": { "$ref": "#/components/schemas/storage_aws_auth" } }, "required": ["aws"], "type": "object" } ] }, "volumes": { "default": [], "description": "Volumes to be mounted into the build container.", "items": { "description": "The volume to be mounted into the build container", "example": "/host-directory:/workdir/path", "title": "Volume mount", "type": "string" }, "type": "array" } }, "title": "Self-hosted step runtime", "type": "object" }, "service": { "description": "Custom service properties", "properties": { "image": { "$ref": "#/components/schemas/image" }, "memory": { "default": 1024, "description": "Memory limit for the service container, in megabytes.", "minimum": 128, "title": "Service Memory", "type": "integer" }, "type": { "description": "Specifies Docker service container (to run Docker-in-Docker).", "enum": ["docker"], "type": "string" }, "variables": { "additionalProperties": { "description": "Environment variable value", "title": "Service Variable", "type": "string" }, "description": "Environment variables passed to the service container.", "minProperties": 1, "title": "Service Variables", "type": "object" } }, "title": "Service definition", "type": "object" }, "size": { "default": "1x", "description": "The size of the step, sets the amount of resources allocated.", "enum": ["1x", "2x", "4x", "8x", "16x", "32x"], "title": "Step Size", "type": "string" }, "stage": { "properties": { "condition": { "$ref": "#/components/schemas/condition", "description": "The condition to execute the stage.", "title": "Stage Condition" }, "deployment": { "description": "The deployment environment for the stage.", "title": "Stage Deployment Environment", "type": "string" }, "environment": { "description": "The environment for the stage.", "title": "Stage Environment", "type": "string" }, "name": { "description": "The name of the stage.", "title": "Stage Name", "type": "string" }, "steps": { "description": "List of steps in the stage.", "items": { "properties": { "step": { "allOf": [ { "$ref": "#/components/schemas/step_base" }, { "properties": { "condition": { "not": {} } }, "type": "object" } ] } }, "type": "object" }, "minItems": 1, "title": "Stage Steps", "type": "array" }, "trigger": { "$ref": "#/components/schemas/trigger", "description": "The trigger used for the pipeline stage.", "title": "Stage Trigger" } }, "required": ["steps"], "type": "object" }, "stage_item": { "additionalProperties": false, "properties": { "stage": { "$ref": "#/components/schemas/stage" } }, "type": "object" }, "step": { "allOf": [ { "$ref": "#/components/schemas/step_base" }, { "properties": { "condition": { "$ref": "#/components/schemas/condition", "description": "The condition to execute the step.", "title": "Step Condition" } }, "type": "object" } ] }, "step_base": { "properties": { "after-script": { "$ref": "#/components/schemas/script", "description": "List of commands to execute after the step succeeds or fails.", "title": "Step Post Script" }, "artifacts": { "$ref": "#/components/schemas/artifacts" }, "caches": { "description": "Caches enabled for the step.", "items": { "description": "Reference to a cache defined under global definitions.", "title": "Cache Name", "type": "string" }, "minItems": 1, "title": "Step Caches", "type": "array" }, "clone": { "$ref": "#/components/schemas/clone" }, "concurrency-group": { "description": "The concurrency group for the step.", "maxLength": 50, "title": "Concurrency group", "type": "string" }, "custom": { "description": "The name of the custom pipeline to run, if the step type is pipeline.", "title": "Custom", "type": "string" }, "deployment": { "description": "The deployment environment for the step.", "title": "Step Deployment Environment", "type": "string" }, "environment": { "description": "The environment for the step.", "title": "Step Environment", "type": "string" }, "fail-fast": { "$ref": "#/components/schemas/fail_fast", "description": "Stop the parent parallel group in case this step fails." }, "image": { "$ref": "#/components/schemas/image" }, "input-variables": { "additionalProperties": { "description": "input variable value", "oneOf": [{ "type": "string" }] }, "description": "Variables from the parent step that are provided to the child pipeline.", "example": { "VAR_1": "VALUE_1", "VAR_2": "${BITBUCKET_BRANCH}" }, "maxProperties": 20, "minProperties": 1, "title": "Input Variables", "type": "object" }, "max-time": { "$ref": "#/components/schemas/max_time", "title": "Step Maximum Time" }, "name": { "description": "The name of the step.", "example": "Build and test", "title": "Step Name", "type": "string" }, "oidc": { "description": "Enables the use of OpenID Connect to connect a pipeline step to a resource server.", "type": "boolean" }, "runs-on": { "$ref": "#/components/schemas/runs_on" }, "runtime": { "$ref": "#/components/schemas/runtime" }, "script": { "$ref": "#/components/schemas/script", "description": "List of commands that are executed in sequence.", "title": "Step Script" }, "services": { "description": "Services enabled for the step.", "items": { "description": "Reference to a service defined under global definitions.", "title": "Service Name", "type": "string" }, "maxItems": 5, "minItems": 1, "title": "Step Services", "type": "array" }, "size": { "$ref": "#/components/schemas/size" }, "trigger": { "$ref": "#/components/schemas/trigger", "description": "The trigger used for the pipeline step.", "title": "Step Trigger" }, "type": { "default": "shared", "description": "The type of the step.", "enum": ["inline", "pipeline"], "title": "Step Type", "type": "string" } }, "title": "Pipeline Step", "type": "object" }, "step_item": { "additionalProperties": false, "properties": { "step": { "$ref": "#/components/schemas/step" } }, "type": "object" }, "storage_aws_auth": { "description": "Amazon web services self hosted storage", "oneOf": [ { "required": ["access-key", "secret-key"] }, { "required": ["oidc-role"] } ], "properties": { "access-key": { "description": "The AWS access key", "type": "string" }, "bucket": { "description": "The name of the S3 bucket", "type": "string" }, "oidc-role": { "description": "The OIDC role to assume", "type": "string" }, "region": { "description": "The AWS region", "type": "string" }, "secret-key": { "description": "The AWS secret key", "type": "string" } }, "required": ["bucket", "region"], "title": "Custom aws self hosted storage", "type": "object" }, "storage_gcp_auth": { "description": "Google Cloud Platform self hosted storage", "properties": { "bucket": { "description": "The name of the GCP bucket", "type": "string" }, "key-file": { "description": "The GCP key file contents encoded in Base64 format", "type": "string" } }, "required": ["bucket", "key-file"], "title": "Custom GCP self hosted storage", "type": "object" }, "trigger": { "default": "automatic", "enum": ["automatic", "manual"], "type": "string" }, "trigger_configuration": { "description": "Configuration that defines when and which pipelines to trigger.", "properties": { "condition": { "description": "Boolean expression that determines whether the trigger should execute.", "example": "BITBUCKET_BRANCH == \"main\"", "title": "Trigger Condition", "type": "string" }, "pipelines": { "description": "List of pipeline names to trigger when the condition is met. Can reference pipelines from the custom section.", "items": { "description": "Name of a pipeline defined in the custom pipelines section.", "title": "Pipeline Name", "type": "string" }, "minItems": 1, "title": "Pipeline Names", "type": "array" } }, "required": ["condition", "pipelines"], "title": "Trigger Configuration", "type": "object" }, "trigger_configuration_list": { "description": "List of trigger configurations for a specific trigger type.", "items": { "$ref": "#/components/schemas/trigger_configuration" }, "minItems": 1, "title": "Trigger Configuration List", "type": "array" }, "trigger_context": { "description": "Context of the trigger that started the pipeline. Only returned for pipelines triggered by a parent step.", "properties": { "parent_pipeline_run_uuid": { "description": "The UUID of the pipeline run that contains the parent step that triggered this pipeline.", "example": "{00000000-0000-0000-0000-000000000000}", "title": "Parent Pipeline Run UUID", "type": "string" }, "parent_pipeline_uuid": { "description": "The UUID of the pipeline that contains the parent step that triggered this pipeline.", "example": "{00000000-0000-0000-0000-000000000000}", "title": "Parent Pipeline UUID", "type": "string" }, "parent_step_uuid": { "description": "The UUID of the parent step that triggered this pipeline.", "example": "{00000000-0000-0000-0000-000000000000}", "title": "Parent Step UUID", "type": "string" }, "type": { "description": "The type of trigger that started the pipeline.", "enum": ["parent_step"], "title": "Pipeline Trigger", "type": "string" } }, "type": "object" }, "variables_item": { "additionalProperties": false, "properties": { "variables": { "description": "List of variables for the custom pipeline.", "items": { "description": "Settings for the custom variable.", "properties": { "allowed-values": { "description": "A list of values that are allowed for the variable.", "items": { "title": "Allowed Variable Value", "type": "string" }, "minItems": 1, "title": "Allowed Variable Values", "type": "array" }, "default": { "title": "Default Variable Value", "type": "string" }, "description": { "title": "Variable Description", "type": "string" }, "name": { "title": "Variable Name", "type": "string" } }, "required": ["name"], "title": "Custom Pipeline Variable", "type": "object" }, "minItems": 1, "title": "Custom Pipeline Variables", "type": "array" } }, "type": "object" } } } }