From 3ac0c4866d52af221e4e00cbb9a1e6dc67d8a8bb Mon Sep 17 00:00:00 2001 From: sirosen <1300022+sirosen@users.noreply.github.com> Date: Sun, 16 Aug 2026 04:41:42 +0000 Subject: [PATCH] [vendor-schemas] automated update --- CHANGELOG.rst | 2 ++ .../vendor/bitbucket-pipelines.json | 2 +- .../builtin_schemas/vendor/mergify.json | 27 +++++++++++++++-- .../builtin_schemas/vendor/renovate.json | 30 +++++++++++++++---- .../vendor/sha256/bitbucket-pipelines.sha256 | 2 +- .../vendor/sha256/mergify.sha256 | 2 +- .../vendor/sha256/renovate.sha256 | 2 +- 7 files changed, 56 insertions(+), 11 deletions(-) diff --git a/CHANGELOG.rst b/CHANGELOG.rst index f647e2a20..9d030bcd9 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -10,6 +10,8 @@ Unreleased .. vendor-insert-here +- Update vendored schemas: bitbucket-pipelines, mergify, renovate (2026-08-16) + 0.38.0 ------ diff --git a/src/check_jsonschema/builtin_schemas/vendor/bitbucket-pipelines.json b/src/check_jsonschema/builtin_schemas/vendor/bitbucket-pipelines.json index 3ae9ddf80..87f53cbfd 100644 --- a/src/check_jsonschema/builtin_schemas/vendor/bitbucket-pipelines.json +++ b/src/check_jsonschema/builtin_schemas/vendor/bitbucket-pipelines.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": {"agent_config": {"description": "Optional agent config path and inline overrides.", "properties": {"overrides": {"additionalProperties": true, "description": "Inline config overrides for the agent.", "title": "Agent Config Overrides", "type": "object"}, "path": {"description": "Path to a config file used by the agent.", "title": "Agent Config Path", "type": "string"}}, "title": "Agent Config", "type": "object"}, "agent_definition": {"description": "Defines an agent that can be referenced by agent tasks.", "properties": {"config": {"$ref": "#/components/schemas/agent_config"}, "permissions": {"$ref": "#/components/schemas/agent_permissions"}, "prompt": {"description": "Prompt used by the agent definition.", "title": "Agent Prompt", "type": "string"}, "provider": {"$ref": "#/components/schemas/agent_provider"}}, "required": ["prompt"], "title": "Agent Definition", "type": "object"}, "agent_permissions": {"description": "Optional permissions configuration for the agent.", "properties": {"on-ask": {"$ref": "#/components/schemas/agent_permissions_on_ask"}}, "title": "Agent Permissions", "type": "object"}, "agent_permissions_on_ask": {"description": "How to respond when the agent asks for permissions.", "enum": ["allow", "deny"], "title": "On Ask Permission Mode", "type": "string"}, "agent_provider": {"description": "Agent provider used to run the task.", "enum": ["rovodev", "claude"], "title": "Agent Provider", "type": "string"}, "agent_task": {"description": "The agentic task to execute.", "properties": {"agent": {"description": "Name of the agent definition referenced by this task.", "title": "Agent Name", "type": "string"}, "config": {"$ref": "#/components/schemas/agent_config"}, "permissions": {"$ref": "#/components/schemas/agent_permissions"}, "prompt": {"description": "Optional prompt override for the agent task.", "title": "Agent Prompt Override", "type": "string"}, "provider": {"$ref": "#/components/schemas/agent_provider"}}, "required": ["agent"], "title": "Agent Task", "type": "object"}, "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": {"oneOf": [{"items": {"$ref": "#/components/schemas/artifacts_upload"}, "minItems": 1, "type": "array"}, {"items": {"type": "string"}, "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"}, "platform": {"default": "linux", "description": "Platform type used to run the step.", "enum": ["linux", "windows"], "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"}, "state": {"description": "Only execute a step or stage when a boolean expression evaluates to true.", "example": "PROD_DEPLOYMENT_ENABLED == true", "maxLength": 1000, "minLength": 1, "title": "Boolean expression condition", "type": "string"}}, "type": "object"}, "custom_pipeline": {"oneOf": [{"$ref": "#/components/schemas/items_with_variables"}, {"$ref": "#/components/schemas/import_pipeline"}]}, "dynamic_pipeline_variable": {"description": "A resolved variable available when the pipeline is parsed.", "properties": {"key": {"description": "The name of the variable.", "example": "SERVICE_NAME", "type": "string"}, "scope": {"$ref": "#/components/schemas/dynamic_pipeline_variable_scope"}, "value": {"description": "The resolved value of the variable.", "example": "test-service", "type": "string"}}, "required": ["key", "value", "scope"], "title": "Dynamic Pipeline Variable", "type": "object"}, "dynamic_pipeline_variable_scope": {"description": "The scope at which the variable is defined:\n* `PIPELINE` - pipeline level.\n* `REPOSITORY` - repository level.\n* `WORKSPACE` - workspace level.\n* `STEP` - step level.\n* `DEPLOYMENT` - deployment environment level.\n", "enum": ["PIPELINE", "REPOSITORY", "WORKSPACE", "STEP", "DEPLOYMENT"], "title": "Dynamic Pipeline Variable Scope", "type": "string"}, "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"}, "variables": {"$ref": "#/components/schemas/pipeline_variables"}}, "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"}, "variables": {"$ref": "#/components/schemas/pipeline_variables"}}, "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"}]}, "pipeline_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"}, "pipelines_configuration": {"properties": {"clone": {"$ref": "#/components/schemas/clone"}, "definitions": {"description": "The definitions of caches and services used in the declared pipelines.", "properties": {"agents": {"additionalProperties": {"$ref": "#/components/schemas/agent_definition"}, "title": "Agent definitions", "type": "object"}, "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/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"}, "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"}, {"$ref": "#/components/schemas/agent_task"}]}, "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_auth": {"description": "Optional auth configuration for a step.", "properties": {"system": {"properties": {"scopes": {"description": "Additional system scopes for the step.", "items": {"type": "string"}, "title": "System Scopes", "type": "array", "uniqueItems": true}}, "title": "System Auth", "type": "object"}}, "title": "Step Auth", "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"}, "auth": {"$ref": "#/components/schemas/step_auth", "description": "Optional auth configuration for the step.", "title": "Step Auth"}, "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"}}}} \ No newline at end of file +{"$id": "https://bitbucket.org/product/features/pipelines", "$ref": "#/definitions/pipelines_configuration", "$schema": "http://json-schema.org/draft-07/schema#", "definitions": {"agent_config": {"description": "Optional agent config path and inline overrides.", "properties": {"overrides": {"additionalProperties": true, "description": "Inline config overrides for the agent.", "title": "Agent Config Overrides", "type": "object"}, "path": {"description": "Path to a config file used by the agent.", "title": "Agent Config Path", "type": "string"}}, "title": "Agent Config", "type": "object"}, "agent_definition": {"description": "Defines an agent that can be referenced by agent tasks.", "properties": {"config": {"$ref": "#/definitions/agent_config"}, "permissions": {"$ref": "#/definitions/agent_permissions"}, "prompt": {"description": "Prompt used by the agent definition.", "title": "Agent Prompt", "type": "string"}, "provider": {"$ref": "#/definitions/agent_provider"}, "setup-script": {"$ref": "#/definitions/agent_setup_script"}}, "required": ["prompt"], "title": "Agent Definition", "type": "object"}, "agent_permissions": {"description": "Optional permissions configuration for the agent.", "properties": {"on-ask": {"$ref": "#/definitions/agent_permissions_on_ask"}}, "title": "Agent Permissions", "type": "object"}, "agent_permissions_on_ask": {"description": "How to respond when the agent asks for permissions.", "enum": ["allow", "deny"], "title": "On Ask Permission Mode", "type": "string"}, "agent_provider": {"description": "Agent provider used to run the task.", "enum": ["rovodev", "claude"], "title": "Agent Provider", "type": "string"}, "agent_setup_script": {"description": "Commands or pipes to execute immediately before the agent task.", "items": {"oneOf": [{"description": "The command to execute.", "example": "mvn install", "title": "Script Command", "type": "string"}, {"$ref": "#/definitions/pipe"}]}, "title": "Agent Setup Script", "type": "array"}, "agent_task": {"description": "The agentic task to execute.", "properties": {"agent": {"description": "Name of the agent definition referenced by this task.", "title": "Agent Name", "type": "string"}, "config": {"$ref": "#/definitions/agent_config"}, "permissions": {"$ref": "#/definitions/agent_permissions"}, "prompt": {"description": "Optional prompt override for the agent task.", "title": "Agent Prompt Override", "type": "string"}, "provider": {"$ref": "#/definitions/agent_provider"}}, "required": ["agent"], "title": "Agent Task", "type": "object"}, "artifacts": {"oneOf": [{"$ref": "#/definitions/artifacts_paths"}, {"$ref": "#/definitions/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": "#/definitions/artifacts_paths"}, "upload": {"oneOf": [{"items": {"$ref": "#/definitions/artifacts_upload"}, "minItems": 1, "type": "array"}, {"items": {"type": "string"}, "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": "#/definitions/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": "#/definitions/cache_path"}, {"$ref": "#/definitions/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": "#/definitions/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"}, "platform": {"default": "linux", "description": "Platform type used to run the step.", "enum": ["linux", "windows"], "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"}, "state": {"description": "Only execute a step or stage when a boolean expression evaluates to true.", "example": "PROD_DEPLOYMENT_ENABLED == true", "maxLength": 1000, "minLength": 1, "title": "Boolean expression condition", "type": "string"}}, "type": "object"}, "custom_pipeline": {"oneOf": [{"$ref": "#/definitions/items_with_variables"}, {"$ref": "#/definitions/import_pipeline"}]}, "dynamic_pipeline_variable": {"description": "A resolved variable available when the pipeline is parsed.", "properties": {"key": {"description": "The name of the variable.", "example": "SERVICE_NAME", "type": "string"}, "scope": {"$ref": "#/definitions/dynamic_pipeline_variable_scope"}, "value": {"description": "The resolved value of the variable.", "example": "test-service", "type": "string"}}, "required": ["key", "value", "scope"], "title": "Dynamic Pipeline Variable", "type": "object"}, "dynamic_pipeline_variable_scope": {"description": "The scope at which the variable is defined:\n* `PIPELINE` - pipeline level.\n* `REPOSITORY` - repository level.\n* `WORKSPACE` - workspace level.\n* `STEP` - step level.\n* `DEPLOYMENT` - deployment environment level.\n", "enum": ["PIPELINE", "REPOSITORY", "WORKSPACE", "STEP", "DEPLOYMENT"], "title": "Dynamic Pipeline Variable Scope", "type": "string"}, "fail_fast": {"default": false, "title": "Fail Fast", "type": "boolean"}, "final_item": {"additionalProperties": false, "properties": {"final": {"$ref": "#/definitions/final_step"}}, "type": "object"}, "final_step": {"allOf": [{"$ref": "#/definitions/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": "#/definitions/image_no_auth"}, {"$ref": "#/definitions/image_basic_auth"}, {"$ref": "#/definitions/image_aws_auth"}, {"$ref": "#/definitions/image_name"}]}, "image_aws_auth": {"allOf": [{"$ref": "#/definitions/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": "#/definitions/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": "#/definitions/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": "#/definitions/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"}, "variables": {"$ref": "#/definitions/pipeline_variables"}}, "required": ["import"], "type": "object"}, "import_pipeline": {"oneOf": [{"$ref": "#/definitions/import_inline_pipeline"}, {"$ref": "#/definitions/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"}, "variables": {"$ref": "#/definitions/pipeline_variables"}}, "required": ["import"], "type": "object"}, "items": {"description": "List of steps, stages and parallel groups of the pipeline.", "items": {"oneOf": [{"$ref": "#/definitions/step_item"}, {"$ref": "#/definitions/parallel_item"}, {"$ref": "#/definitions/stage_item"}, {"$ref": "#/definitions/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": "#/definitions/variables_item"}, {"$ref": "#/definitions/step_item"}, {"$ref": "#/definitions/parallel_item"}, {"$ref": "#/definitions/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": "#/definitions/parallel_steps"}, {"$ref": "#/definitions/parallel_expanded"}]}, "parallel_expanded": {"properties": {"fail-fast": {"$ref": "#/definitions/fail_fast", "description": "Stop the whole parallel group in case one of its steps fails."}, "steps": {"$ref": "#/definitions/parallel_steps"}}, "required": ["steps"], "type": "object"}, "parallel_item": {"additionalProperties": false, "properties": {"parallel": {"$ref": "#/definitions/parallel"}}, "type": "object"}, "parallel_steps": {"description": "List of steps in the parallel group to run concurrently.", "items": {"$ref": "#/definitions/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": "#/definitions/items"}, {"$ref": "#/definitions/import_pipeline"}]}, "pipeline_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"}, "pipelines_configuration": {"properties": {"clone": {"$ref": "#/definitions/clone"}, "definitions": {"description": "The definitions of caches and services used in the declared pipelines.", "properties": {"agents": {"additionalProperties": {"$ref": "#/definitions/agent_definition"}, "title": "Agent definitions", "type": "object"}, "caches": {"additionalProperties": {"$ref": "#/definitions/cache"}, "title": "Custom cache definitions", "type": "object"}, "imports": {"pipelines": {"additionalProperties": {"$ref": "#/definitions/import_source"}, "description": "Definitions of the pipelines imports that can be used in this file.", "title": "Import source definitions", "type": "object"}}, "pipelines": {"additionalProperties": {"$ref": "#/definitions/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": "#/definitions/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": "#/definitions/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": "#/definitions/max_time"}, "runs-on": {"$ref": "#/definitions/runs_on"}, "runtime": {"$ref": "#/definitions/runtime"}, "size": {"$ref": "#/definitions/size"}}, "title": "Global Options", "type": "object"}, "pipelines": {"properties": {"branches": {"additionalProperties": {"$ref": "#/definitions/pipeline"}, "description": "Branch-specific build pipelines.", "title": "Branch Pipelines", "type": "object"}, "custom": {"additionalProperties": {"$ref": "#/definitions/custom_pipeline"}, "description": "Pipelines that can only be triggered manually or be scheduled.", "title": "Custom Pipelines", "type": "object"}, "default": {"$ref": "#/definitions/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": "#/definitions/pipeline"}, "description": "Pull-request-specific build pipelines.", "title": "Pull Request Pipelines", "type": "object"}, "tags": {"additionalProperties": {"$ref": "#/definitions/pipeline"}, "description": "Tag-specific build pipelines.", "title": "Tag Pipelines", "type": "object"}}, "title": "Pipelines", "type": "object"}, "triggers": {"additionalProperties": {"$ref": "#/definitions/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"}, "runs_on": {"oneOf": [{"$ref": "#/definitions/runs_on_item"}, {"$ref": "#/definitions/runs_on_expanded"}]}, "runs_on_expanded": {"description": "Required labels of a runner to run the step.", "example": ["self.hosted", "linux"], "items": {"$ref": "#/definitions/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": "#/definitions/cloud"}, "self-hosted": {"$ref": "#/definitions/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": "#/definitions/pipe"}, {"$ref": "#/definitions/agent_task"}]}, "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": "#/definitions/storage_gcp_auth"}}, "required": ["gcp"], "type": "object"}, {"properties": {"aws": {"$ref": "#/definitions/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": "#/definitions/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": "#/definitions/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": "#/definitions/step_base"}, {"properties": {"condition": {"not": {}}}, "type": "object"}]}}, "type": "object"}, "minItems": 1, "title": "Stage Steps", "type": "array"}, "trigger": {"$ref": "#/definitions/trigger", "description": "The trigger used for the pipeline stage.", "title": "Stage Trigger"}}, "required": ["steps"], "type": "object"}, "stage_item": {"additionalProperties": false, "properties": {"stage": {"$ref": "#/definitions/stage"}}, "type": "object"}, "step": {"allOf": [{"$ref": "#/definitions/step_base"}, {"properties": {"condition": {"$ref": "#/definitions/condition", "description": "The condition to execute the step.", "title": "Step Condition"}}, "type": "object"}]}, "step_auth": {"description": "Optional auth configuration for a step.", "properties": {"system": {"properties": {"scopes": {"description": "Additional system scopes for the step.", "items": {"type": "string"}, "title": "System Scopes", "type": "array", "uniqueItems": true}}, "title": "System Auth", "type": "object"}}, "title": "Step Auth", "type": "object"}, "step_base": {"properties": {"after-script": {"$ref": "#/definitions/script", "description": "List of commands to execute after the step succeeds or fails.", "title": "Step Post Script"}, "artifacts": {"$ref": "#/definitions/artifacts"}, "auth": {"$ref": "#/definitions/step_auth", "description": "Optional auth configuration for the step.", "title": "Step Auth"}, "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": "#/definitions/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": "#/definitions/fail_fast", "description": "Stop the parent parallel group in case this step fails."}, "image": {"$ref": "#/definitions/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": "#/definitions/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": "#/definitions/runs_on"}, "runtime": {"$ref": "#/definitions/runtime"}, "script": {"$ref": "#/definitions/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": "#/definitions/size"}, "trigger": {"$ref": "#/definitions/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": "#/definitions/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": "#/definitions/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"}}} \ No newline at end of file diff --git a/src/check_jsonschema/builtin_schemas/vendor/mergify.json b/src/check_jsonschema/builtin_schemas/vendor/mergify.json index b8d82fb20..7a16c03df 100644 --- a/src/check_jsonschema/builtin_schemas/vendor/mergify.json +++ b/src/check_jsonschema/builtin_schemas/vendor/mergify.json @@ -2624,7 +2624,9 @@ "SCHEDULE_BLOCKED_AHEAD_YIELDED", "BASE_REF_ALIGNMENT_TIMEOUT", "GITHUB_STACKED_PULL_REQUEST_MERGE_UNSUPPORTED", - "BATCH_SCOPES_CHANGED" + "BATCH_SCOPES_CHANGED", + "BATCH_AHEAD_BRANCH_EDITED", + "CHECKS_INTERRUPTED" ], "type": "string" }, @@ -2759,6 +2761,12 @@ }, { "description": "A pull request's scopes changed after it was embarked, so its batch was recomposed. It stays in the queue." + }, + { + "description": "A commit was pushed to the branch of a batch ahead in the queue, which `allow_queue_branch_edit` permits, so this pull request's speculative checks are restarted on top of it. It stays in the queue." + }, + { + "description": "A required check was cancelled before producing a result, so the queue conditions cannot be satisfied. The check says nothing about the pull request; requeueing runs it again." } ], "x-mergify-has-data-type": true, @@ -4967,7 +4975,7 @@ "type": "string" }, "capacities": { - "description": "How many speculative checks each scope may run at the same time, as a map of scope name to capacity. Works for any `source` (file globs or the manual scopes API just decide membership; capacity is declared here). A scope listed here runs against its own independent budget; a PR in several capped scopes consumes one slot from each. PRs whose scopes are all absent from this map share the repo-wide `merge_queue.max_parallel_checks` pool. Strict branch protection still forces an effective capacity of 1.", + "description": "How many speculative checks each scope may run at the same time, as a map of scope name to capacity. Works for any `source` (file globs or the manual scopes API just decide membership; capacity is declared here). A scope listed here runs against its own independent budget; a PR in several capped scopes consumes one slot from each. PRs whose scopes are all absent from this map share the repo-wide `merge_queue.max_parallel_checks` pool, unless `default_capacity` gives every scope a budget. Strict branch protection still forces an effective capacity of 1.", "patternProperties": { "^[A-Za-z0-9_-]+$": { "maximum": 128, @@ -4981,6 +4989,21 @@ }, "title": "Capacities", "type": "object" + }, + "default_capacity": { + "anyOf": [ + { + "maximum": 128, + "minimum": 1, + "type": "integer" + }, + { + "type": "null" + } + ], + "default": null, + "description": "How many speculative checks a scope without an explicit `capacities` entry may run at the same time. Applies to every scope observed on queued pull requests, so dynamic scope sets (e.g. sent by a monorepo build tool through the manual scopes API) get a per-scope budget without enumerating names; an explicit `capacities` entry still wins for its scope. `merge_queue.max_parallel_checks` remains the global ceiling on the total. When unset, scopes without a `capacities` entry are unlimited, and pull requests with no scopes always draw from the repo-wide pool. Strict branch protection still forces an effective capacity of 1.", + "title": "Default Capacity" } }, "title": "Scopes", diff --git a/src/check_jsonschema/builtin_schemas/vendor/renovate.json b/src/check_jsonschema/builtin_schemas/vendor/renovate.json index b7a4d6a2f..4e8ff4619 100644 --- a/src/check_jsonschema/builtin_schemas/vendor/renovate.json +++ b/src/check_jsonschema/builtin_schemas/vendor/renovate.json @@ -1,8 +1,8 @@ { "$id": "https://docs.renovatebot.com/renovate-schema.json", - "title": "JSON schema for Renovate 44.14.12 config files (https://renovatebot.com/)", + "title": "JSON schema for Renovate 44.30.3 config files (https://renovatebot.com/)", "$schema": "http://json-schema.org/draft-07/schema#", - "x-renovate-version": "44.14.12", + "x-renovate-version": "44.30.3", "allowComments": true, "type": "object", "definitions": { @@ -1596,7 +1596,9 @@ "description": "Configuration object to define language or manager version constraints.\nSee also: https://docs.renovatebot.com/configuration-options/#constraints", "markdownDescription": "Configuration object to define language or manager version constraints.\n\nSee also: [constraints](https://docs.renovatebot.com/configuration-options/#constraints)", "type": "object", - "default": {}, + "default": { + "ghActionsLock": "v0.1.6" + }, "additionalProperties": false, "properties": { "bazelisk": { @@ -1655,6 +1657,10 @@ "type": "string", "description": "A constraint for the `flux` Containerbase tool" }, + "gh": { + "type": "string", + "description": "A constraint for the `gh` Containerbase tool" + }, "gleam": { "type": "string", "description": "A constraint for the `gleam` Containerbase tool" @@ -1779,6 +1785,10 @@ "type": "string", "description": "A constraint for the `vendir` Containerbase tool" }, + "ghActionsLock": { + "type": "string", + "description": "Used in the `github-actions` manager to specify a release tag for the [`github/gh-actions-lock`](https://github.com/github/gh-actions-lock) `gh` CLI extension, which regenerates `.github/workflows/actions.lock`.\n\nMust be a full release tag, prefixed with `v`, such as `v0.1.7`. Set it to an empty string to always install the latest release." + }, "go": { "type": "string", "description": "Used in the `gomod` manager to specify the version of the Go toolchain to use.\n\nIn precedence order:\n\n1. config: `constraints.go`\n1. `go.mod`: `toolchain` directive\n1. `go.mod`: `go` directive\n\nNOTE that the `constraints.golang` is not used (https://github.com/renovatebot/renovate/issues/42601)\n " @@ -1838,6 +1848,10 @@ "default": {}, "additionalProperties": false, "properties": { + "ghActionsLock": { + "type": "string", + "description": "Used in the `github-actions` manager to specify a release tag for the [`github/gh-actions-lock`](https://github.com/github/gh-actions-lock) `gh` CLI extension, which regenerates `.github/workflows/actions.lock`.\n\nMust be a full release tag, prefixed with `v`, such as `v0.1.7`. Set it to an empty string to always install the latest release." + }, "go": { "type": "string", "description": "Used in the `gomod` manager to specify the version of the Go toolchain to use.\n\nIn precedence order:\n\n1. config: `constraints.go`\n1. `go.mod`: `toolchain` directive\n1. `go.mod`: `go` directive\n\nNOTE that the `constraints.golang` is not used (https://github.com/renovatebot/renovate/issues/42601)\n " @@ -3026,8 +3040,8 @@ "type": "string" }, "gitIgnoredAuthors": { - "description": "Git authors which are ignored by Renovate. Must conform to [RFC5322](https://datatracker.ietf.org/doc/html/rfc5322).\nSee also: https://docs.renovatebot.com/configuration-options/#gitignoredauthors", - "markdownDescription": "Git authors which are ignored by Renovate. Must conform to [RFC5322](https://datatracker.ietf.org/doc/html/rfc5322).\n\nSee also: [gitIgnoredAuthors](https://docs.renovatebot.com/configuration-options/#gitignoredauthors)", + "description": "Git author emails ignored by Renovate. Entries can be exact [RFC5322](https://datatracker.ietf.org/doc/html/rfc5322) strings, glob patterns, or regex patterns using Renovate regex syntax.\nSee also: https://docs.renovatebot.com/configuration-options/#gitignoredauthors", + "markdownDescription": "Git author emails ignored by Renovate. Entries can be exact [RFC5322](https://datatracker.ietf.org/doc/html/rfc5322) strings, glob patterns, or regex patterns using Renovate regex syntax.\n\nSee also: [gitIgnoredAuthors](https://docs.renovatebot.com/configuration-options/#gitignoredauthors)", "type": "array", "items": { "type": "string" @@ -4157,6 +4171,11 @@ "description": "Install the `flux` Containerbase tool", "additionalProperties": false }, + "gh": { + "type": "object", + "description": "Install the `gh` Containerbase tool", + "additionalProperties": false + }, "gleam": { "type": "object", "description": "Install the `gleam` Containerbase tool", @@ -6398,6 +6417,7 @@ "gomodMassage", "gomodTidy", "gomodTidy1.17", + "gomodTidyAll", "gomodTidyE", "gomodUpdateImportPaths", "gomodSkipVendor", diff --git a/src/check_jsonschema/builtin_schemas/vendor/sha256/bitbucket-pipelines.sha256 b/src/check_jsonschema/builtin_schemas/vendor/sha256/bitbucket-pipelines.sha256 index cb2840ec8..66fcf9bbf 100644 --- a/src/check_jsonschema/builtin_schemas/vendor/sha256/bitbucket-pipelines.sha256 +++ b/src/check_jsonschema/builtin_schemas/vendor/sha256/bitbucket-pipelines.sha256 @@ -1 +1 @@ -968e044a19d4ac5f6b81517f8ec7680cb23a027b2106750e025b167f411e60aa \ No newline at end of file +9387b9d72352521be95652848b9148163c6fa4090e870efc87ce731b2ff80630 \ No newline at end of file diff --git a/src/check_jsonschema/builtin_schemas/vendor/sha256/mergify.sha256 b/src/check_jsonschema/builtin_schemas/vendor/sha256/mergify.sha256 index 583e6c5b1..e9030f19b 100644 --- a/src/check_jsonschema/builtin_schemas/vendor/sha256/mergify.sha256 +++ b/src/check_jsonschema/builtin_schemas/vendor/sha256/mergify.sha256 @@ -1 +1 @@ -58bc490f433ac9c0d7fa119ecc55f69ba8795d8e6537cdc580b5776a8818258b \ No newline at end of file +ce54a89ff274927f2cd45c5aee3693ae23f5772fdb53299575a067c0edba4eb4 \ No newline at end of file diff --git a/src/check_jsonschema/builtin_schemas/vendor/sha256/renovate.sha256 b/src/check_jsonschema/builtin_schemas/vendor/sha256/renovate.sha256 index 9e4586d92..f97f49960 100644 --- a/src/check_jsonschema/builtin_schemas/vendor/sha256/renovate.sha256 +++ b/src/check_jsonschema/builtin_schemas/vendor/sha256/renovate.sha256 @@ -1 +1 @@ -876a919e97fa76f7c9849f952c966ddc0ac652aafc749c0098e1a85e2152aa1f \ No newline at end of file +13e5ea11f06eaf228db2ca35a3890c69e8f8d1f0635e3b37397c87439c6bd5c5 \ No newline at end of file