From 177251ad00f4de54911f28488c6736116016c405 Mon Sep 17 00:00:00 2001 From: Nathan McDougall Date: Tue, 29 Jul 2025 22:35:43 +1200 Subject: [PATCH] Bump bitbucket pipelines schema --- src/usethis/_integrations/ci/bitbucket/schema.py | 4 ++-- tests/usethis/_integrations/ci/bitbucket/schema.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/usethis/_integrations/ci/bitbucket/schema.py b/src/usethis/_integrations/ci/bitbucket/schema.py index 743abec9..10563c7a 100644 --- a/src/usethis/_integrations/ci/bitbucket/schema.py +++ b/src/usethis/_integrations/ci/bitbucket/schema.py @@ -1,6 +1,6 @@ # generated by datamodel-codegen: # filename: schema.json -# timestamp: 2025-06-24T21:03:56+00:00 +# timestamp: 2025-07-29T10:34:16+00:00 # using the command: # datamodel-codegen --input tests\usethis\_integrations\ci\bitbucket\schema.json --input-file-type jsonschema --output src\usethis\_integrations\ci\bitbucket\schema.py --enum-field-as-literal all --field-constraints --use-double-quotes --use-union-operator --use-standard-collections --use-default-kwarg --output-model-type pydantic_v2.BaseModel --target-python-version 3.10 # ruff: noqa: ERA001 @@ -263,7 +263,7 @@ class ArtifactsUpload(BaseModel): ..., description="The name of the artifact.", title="Artifact Name" ) paths: ArtifactsPaths - type: Literal["shared", "unshared", "test-reports"] | None = Field( + type: Literal["shared", "scoped", "test-reports"] | None = Field( default="shared", description="The type of the artifact.", title="Artifact Type" ) diff --git a/tests/usethis/_integrations/ci/bitbucket/schema.json b/tests/usethis/_integrations/ci/bitbucket/schema.json index fceff645..0362c0de 100644 --- a/tests/usethis/_integrations/ci/bitbucket/schema.json +++ b/tests/usethis/_integrations/ci/bitbucket/schema.json @@ -1 +1 @@ -{"$id": "https://bitbucket.org/product/features/pipelines", "$ref": "#/components/schemas/pipelines_configuration", "$schema": "http://json-schema.org/draft-07/schema#", "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", "unshared", "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"}, "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"}, "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_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"}, "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"}]}, "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": {"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"}, "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"}, "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"}}, "type": "object"}, "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"}}, "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"}, "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"}, "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"}, "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"}}, "required": ["script"], "title": "Pipeline Step", "type": "object"}, "step_item": {"additionalProperties": false, "properties": {"step": {"$ref": "#/components/schemas/step"}}, "type": "object"}, "trigger": {"default": "automatic", "enum": ["automatic", "manual"], "type": "string"}, "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"}}}} \ No newline at end of file +{"$id": "https://bitbucket.org/product/features/pipelines", "$ref": "#/components/schemas/pipelines_configuration", "$schema": "http://json-schema.org/draft-07/schema#", "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"}, "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"}, "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_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"}, "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"}]}, "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": {"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"}, "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"}, "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"}}, "type": "object"}, "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"}}, "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"}, "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"}, "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"}, "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"}}, "required": ["script"], "title": "Pipeline Step", "type": "object"}, "step_item": {"additionalProperties": false, "properties": {"step": {"$ref": "#/components/schemas/step"}}, "type": "object"}, "trigger": {"default": "automatic", "enum": ["automatic", "manual"], "type": "string"}, "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"}}}} \ No newline at end of file