openapi: 3.2.0 info: title: Screwdriver API Documentation Coverage API version: '3' servers: - url: https://api.screwdriver.cd/ security: - jwt: [] tags: - name: Coverage paths: /v4/coverage/info: get: summary: Get coverage metadata operationId: getV4CoverageInfo description: Returns object with coverage info tags: - Coverage responses: default: description: Successful content: application/json: schema: type: string /v4/coverage/token: get: summary: Get an access token to talk to coverage server operationId: getV4CoverageToken description: Returns a token string tags: - Coverage responses: default: description: Successful content: application/json: schema: type: string components: securitySchemes: jwt: type: apiKey name: Authorization in: header x-alt-definitions: format: type: string description: Format of the Command example: habitat enum: - habitat - docker - binary maxLength: 16 mode: type: string description: Mode of the Habitat command example: remote enum: - remote - local habitat: type: object properties: mode: $ref: '#/x-alt-definitions/mode' file: type: string description: File path of the Habitat artifact example: ./foobar.hart package: type: string description: Package of the Habitat command example: core/git/2.14.1 command: type: string description: Executable of the Habitat command example: git required: - mode - file - package - command docker: type: object properties: image: type: string description: Image of the Docker command example: chefdk:1.2.3 command: type: string description: Executable of the Docker command example: knife default: '' required: - image binary: type: object properties: file: type: string description: File of the Binary command example: ./foobar.sh required: - file clouds: type: array description: A list of cloud that template supports example: - aws - gcp - azure items: type: string architectures: type: array description: A list of architectures that template supports example: - x86 - x86_64 - arm64 items: type: string compatibilities: type: object properties: clouds: $ref: '#/x-alt-definitions/clouds' architectures: $ref: '#/x-alt-definitions/architectures' Get Command: type: object properties: id: type: integer description: Identifier of this command example: 123345 x-constraint: sign: positive namespace: type: string description: Namespace of the Command example: chefdk maxLength: 64 pattern: ^[\w-]+$ version: type: string description: Version of the Command example: '1.2' maxLength: 16 pattern: ^(\d+)(\.\d+)?(\.\d+)?$ description: type: string description: Description of the Command example: Installs npm modules maxLength: 256 maintainer: type: string description: Maintainer of the Command example: foo@bar.com maxLength: 64 x-format: email: true format: $ref: '#/x-alt-definitions/format' habitat: $ref: '#/x-alt-definitions/habitat' docker: $ref: '#/x-alt-definitions/docker' binary: $ref: '#/x-alt-definitions/binary' name: type: string description: Name of the Command example: knife maxLength: 64 pattern: ^[\w-]+$ pipelineId: type: integer description: Identifier of this pipeline example: 123345 x-constraint: sign: positive createTime: type: string description: When this command was created example: '2038-01-19T03:14:08.131Z' maxLength: 32 x-format: isoDate: true usage: type: string description: Usage and arguments of the command example: sd_cmd exec foo/bar@1 -h -d maxLength: 4096 trusted: type: boolean description: Mark whether command is trusted latest: type: boolean description: Whether this is latest version compatibilities: $ref: '#/x-alt-definitions/compatibilities' required: - id - namespace - version - description - maintainer - format - name - pipelineId List of commands: type: array items: $ref: '#/x-alt-definitions/Get%20Command' Model1: type: object properties: namespace: type: string description: Namespace of the Command example: chefdk maxLength: 64 pattern: ^[\w-]+$ Model2: type: array items: $ref: '#/x-alt-definitions/Model1' Command Count and List of commands: type: object properties: count: type: number rows: $ref: '#/x-alt-definitions/List of commands' any: type: array items: type: string value: type: array items: type: string Model3: type: object properties: value: anyOf: - type: string - $ref: '#/x-alt-definitions/value' description: type: string required: - value Model4: type: string enum: - OK Model5: type: object properties: queue: type: string store: type: string api: type: string labels: type: array description: Labels for template example: - stable - latest - beta items: type: string annotations: type: object blockedBy: type: array items: anyOf: - type: string pattern: ^~([\w-]+)$ - type: string pattern: ^~sd@(\d+):(?:([\w-]+)|(stage@([\w-]+):setup))$ freezeWindows: type: array items: type: string string: type: array items: type: string order: type: array minItems: 0 items: type: string pattern: ^[\w-]+$ name: type: string description: Provider name example: aws enum: - aws maxLength: 64 List of security group IDs: type: array minItems: 1 items: type: string description: Security group ID example: sg-51530134 maxLength: 128 pattern: ^sg-[\w]+$ List of subnet IDs: type: array minItems: 1 items: type: string description: Subnet ID example: subnet-01234567890abcdef maxLength: 128 pattern: ^subnet-[\w]+$ vpc: type: object properties: vpcId: type: string description: VPC ID example: vpc-1a2b3c4d maxLength: 128 pattern: ^vpc-[\w]+$ securityGroupIds: $ref: '#/x-alt-definitions/List%20of%20security%20group%20IDs' subnetIds: $ref: '#/x-alt-definitions/List%20of%20subnet%20IDs' required: - vpcId - securityGroupIds - subnetIds executor: type: string description: Executor name example: eks enum: - sls - eks maxLength: 64 computeType: type: string description: CodeBuild compute type default: BUILD_GENERAL1_SMALL enum: - BUILD_GENERAL1_SMALL - BUILD_GENERAL1_LARGE - BUILD_GENERAL1_MEDIUM - BUILD_GENERAL1_2XLARGE environmentType: type: string description: CodeBuild environment type default: LINUX_CONTAINER enum: - ARM_CONTAINER - LINUX_CONTAINER - LINUX_GPU_CONTAINER provider: type: object properties: name: $ref: '#/x-alt-definitions/name' region: type: string description: Region where service and build will run, build region can be overridden example: us-west-2 default: us-west-2 maxLength: 64 pattern: ^(us(-gov)?|ap|ca|cn|eu|sa|me)-(central|(north|south)?(east|west)?)-\d$ buildRegion: type: string description: Region where builds will run if different from service region example: us-east-2 default: '' maxLength: 64 pattern: ^(us(-gov)?|ap|ca|cn|eu|sa|me)-(central|(north|south)?(east|west)?)-\d$ accountId: description: Account ID example: '123456789012' anyOf: - type: string maxLength: 12 pattern: ^[0-9]{12}$ - type: integer minimum: 12 vpc: $ref: '#/x-alt-definitions/vpc' role: type: string description: Role ARN example: arn:aws:iam::123456789012:role/aws-service-role/amazonaws.com/AWSServiceRole maxLength: 512 pattern: ^arn:aws:iam::\d{12}:role\/.+ executor: $ref: '#/x-alt-definitions/executor' clusterName: type: string description: Cluster name required if executor is eks example: sd-build-eks maxLength: 128 cpuLimit: type: string description: CPU Limit for pod in EKS Cluster example: 2Gi maxLength: 4 memoryLimit: type: string description: Memory Limit for pod in EKS Cluster example: 4Gi maxLength: 4 executorLogs: type: boolean description: Enable debug logs for executor codebuild default: false launcherImage: type: string description: Screwdriver launcher image in user Registry example: 123456789012.dkr.ecr.us-east-2.amazonaws.com/screwdriver-hub:launcherv6.4 launcherVersion: type: string description: Screwdriver launcher version example: v6.4 privilegedMode: type: boolean description: Enable privileged mode for container default: false computeType: $ref: '#/x-alt-definitions/computeType' environmentType: $ref: '#/x-alt-definitions/environmentType' debugSession: type: boolean description: Enable debug session inside build container default: false requires: type: array items: anyOf: - type: string pattern: ^~([\w-]+)$ - type: string maxLength: 100 pattern: ^(([\w-]+)|(?:stage@([\w-]+):(setup|teardown)))$ - type: string - type: string pattern: ^~?stage@([\w-]+)(?::([\w-]+))?$ - type: string pattern: ^~?sd@\d+:(?:([\w-]+)|(stage@([\w-]+):(setup|teardown)))$ secrets: type: array minItems: 0 items: type: string maxLength: 64 pattern: ^[A-Z_][A-Z0-9_]*$ settings: type: object sourcePaths: type: array items: type: string maxLength: 1024 Model6: type: object properties: command: type: string locked: type: boolean required: - command steps: type: array minItems: 1 items: anyOf: - type: string - type: object properties: string: anyOf: - type: string - $ref: '#/x-alt-definitions/Model6' config: type: object default: {} properties: annotations: $ref: '#/x-alt-definitions/annotations' blockedBy: anyOf: - $ref: '#/x-alt-definitions/blockedBy' - anyOf: - type: string pattern: ^~([\w-]+)$ - type: string pattern: ^~sd@(\d+):(?:([\w-]+)|(stage@([\w-]+):setup))$ cache: type: boolean description: type: string maxLength: 100 environment: type: object properties: string: type: string freezeWindows: anyOf: - $ref: '#/x-alt-definitions/freezeWindows' - type: string image: type: string pattern: ^[^;&|><*?`$()!#'" ]+$ matrix: type: object properties: string: $ref: '#/x-alt-definitions/string' order: $ref: '#/x-alt-definitions/order' parameters: type: object properties: any: anyOf: - type: string - $ref: '#/x-alt-definitions/any' - $ref: '#/x-alt-definitions/Model3' provider: anyOf: - $ref: '#/x-alt-definitions/provider' - type: string pattern: ^(?:(?:https:\/\/(?:[^@/:\s]+@)?)|git@|org-\d+@)+([^/:\s]+)(?:\/|:)([^/:\s]+)\/([^\s]+?)(?:\.git)(#[^: \s]* [^: \s]*|#[^: \s]+)?(:[^: \s]* [^: \s]*|:[^: \s]+)?$ requires: anyOf: - $ref: '#/x-alt-definitions/requires' - anyOf: - type: string pattern: ^~([\w-]+)$ - type: string maxLength: 100 pattern: ^(([\w-]+)|(?:stage@([\w-]+):(setup|teardown)))$ - type: string - type: string pattern: ^~?stage@([\w-]+)(?::([\w-]+))?$ - type: string pattern: ^~?sd@\d+:(?:([\w-]+)|(stage@([\w-]+):(setup|teardown)))$ secrets: $ref: '#/x-alt-definitions/secrets' settings: $ref: '#/x-alt-definitions/settings' sourcePaths: anyOf: - $ref: '#/x-alt-definitions/sourcePaths' - type: string maxLength: 1024 template: type: string pattern: ^([\w/-]+)(?:@((?:(?:\d+)(?:\.\d+)?(?:\.\d+)?)|(?:[a-zA-Z][\w-.]+)))?$ templateId: type: - integer - 'null' description: Identifier for this job's template example: 123345 x-constraint: sign: positive steps: $ref: '#/x-alt-definitions/steps' Get Template: type: object properties: id: type: integer description: Identifier of this template example: 123345 x-constraint: sign: positive labels: $ref: '#/x-alt-definitions/labels' config: $ref: '#/x-alt-definitions/config' name: type: string description: Template name example: nodejs/lib maxLength: 64 version: type: string description: Version of the Template example: '1.2' maxLength: 16 pattern: ^(\d+)(\.\d+)?(\.\d+)?$ description: type: string description: Description of the Template example: Installs npm modules maxLength: 256 maintainer: type: string description: Maintainer of the Template example: foo@bar.com maxLength: 64 x-format: email: true pipelineId: type: integer description: Identifier of this pipeline example: 123345 x-constraint: sign: positive namespace: type: string description: Namespace of the Template example: node maxLength: 64 pattern: ^[\w-]+$ images: type: object properties: string: type: string pattern: ^[^;&|><*?`$()!#'" ]+$ createTime: type: string description: When this template was created example: '2038-01-19T03:14:08.131Z' maxLength: 32 x-format: isoDate: true trusted: type: boolean description: Mark whether template is trusted latest: type: boolean description: Whether this is latest version compatibilities: $ref: '#/x-alt-definitions/compatibilities' required: - id - labels - name - version - description - maintainer - pipelineId List of templates: type: array items: $ref: '#/x-alt-definitions/Get%20Template' Model7: type: object properties: namespace: type: string description: Namespace of the Template example: node maxLength: 64 pattern: ^[\w-]+$ Model8: type: array items: $ref: '#/x-alt-definitions/Model7' Template Count and List of templates: type: object properties: count: type: number rows: $ref: '#/x-alt-definitions/List of templates' environment: type: array items: type: object properties: string: type: string parentBuildId: type: array description: Identifier(s) of this parent build(s) example: - 111 - 222 items: type: integer x-constraint: sign: positive templateType: type: string description: Template Type example: PIPELINE default: JOB enum: - JOB - PIPELINE maxLength: 16 Model9: type: object properties: id: type: integer description: Identifier of this template example: 123345 x-constraint: sign: positive pipelineId: type: integer description: Identifier of this pipeline example: 123345 x-constraint: sign: positive namespace: type: string description: Namespace of the Template example: node maxLength: 64 pattern: ^[\w-]+$ name: type: string description: Name of the template example: nodePipeline maxLength: 64 pattern: ^[\w-]+$ maintainer: type: string description: Maintainer of the Template example: foo@bar.com maxLength: 64 x-format: email: true trustedSinceVersion: type: string description: The version since the template is marked as trusted example: 1.2.3 maxLength: 16 pattern: ^(\d+)\.(\d+)\.(\d+)$ latestVersion: type: string description: Latest version of the template example: 1.2.3 maxLength: 16 pattern: ^(\d+)\.(\d+)\.(\d+)$ createTime: type: string description: When this template was created example: '2038-01-19T03:14:08.131Z' maxLength: 32 x-format: isoDate: true updateTime: type: string description: When this template was updated example: '2038-01-19T03:14:08.131Z' maxLength: 32 x-format: isoDate: true templateType: $ref: '#/x-alt-definitions/templateType' required: - id - pipelineId - namespace - name - maintainer - templateType List of pipeline templates: type: array items: $ref: '#/x-alt-definitions/Model9' Pipeline Template Count and List of templates: type: object properties: count: type: number rows: $ref: '#/x-alt-definitions/List of pipeline templates' Model10: type: object properties: command: type: string required: - command