openapi: 3.0.0 info: version: '2015-07-09' x-release: v4 title: 'AWS CodePipeline Executions #X Amz Target=CodePipeline 20150709.PollForJobs API' description: CodePipeline

Overview

This is the CodePipeline API Reference. This guide provides descriptions of the actions and data types for CodePipeline. Some functionality for your pipeline can only be configured through the API. For more information, see the CodePipeline User Guide.

You can use the CodePipeline API to work with pipelines, stages, actions, and transitions.

Pipelines are models of automated release processes. Each pipeline is uniquely named, and consists of stages, actions, and transitions.

You can work with pipelines by calling:

Pipelines include stages. Each stage contains one or more actions that must complete before the next stage begins. A stage results in success or failure. If a stage fails, the pipeline stops at that stage and remains stopped until either a new version of an artifact appears in the source location, or a user takes action to rerun the most recent artifact through the pipeline. You can call GetPipelineState, which displays the status of a pipeline, including the status of stages in the pipeline, or GetPipeline, which returns the entire structure of the pipeline, including the stages of that pipeline. For more information about the structure of stages and actions, see CodePipeline Pipeline Structure Reference.

Pipeline stages include actions that are categorized into categories such as source or build actions performed in a stage of a pipeline. For example, you can use a source action to import artifacts into a pipeline from a source such as Amazon S3. Like stages, you do not work with actions directly in most cases, but you do define and interact with actions when working with pipeline operations such as CreatePipeline and GetPipelineState. Valid action categories are:

Pipelines also include transitions, which allow the transition of artifacts from one stage to the next in a pipeline after the actions in one stage complete.

You can work with transitions by calling:

Using the API to integrate with CodePipeline

For third-party integrators or developers who want to create their own integrations with CodePipeline, the expected sequence varies from the standard API user. To integrate with CodePipeline, developers need to work with the following items:

Jobs, which are instances of an action. For example, a job for a source action might import a revision of an artifact from a source.

You can work with jobs by calling:

Third party jobs, which are instances of an action created by a partner action and integrated into CodePipeline. Partner actions are created by members of the Amazon Web Services Partner Network.

You can work with third party jobs by calling:

x-logo: url: https://twitter.com/awscloud/profile_image?size=original backgroundColor: '#FFFFFF' termsOfService: https://aws.amazon.com/service-terms/ contact: name: Mike Ralphson email: mike.ralphson@gmail.com url: https://github.com/mermade/aws2openapi x-twitter: PermittedSoc license: name: Apache 2.0 License url: http://www.apache.org/licenses/ x-providerName: amazonaws.com x-serviceName: codepipeline x-origin: - contentType: application/json url: https://raw.githubusercontent.com/aws/aws-sdk-js/master/apis/codepipeline-2015-07-09.normal.json converter: url: https://github.com/mermade/aws2openapi version: 1.0.0 x-apisguru-driver: external x-apiClientRegistration: url: https://portal.aws.amazon.com/gp/aws/developer/registration/index.html?nc2=h_ct x-apisguru-categories: - cloud x-preferred: true servers: - url: http://codepipeline.{region}.amazonaws.com variables: region: description: The AWS region enum: - us-east-1 - us-east-2 - us-west-1 - us-west-2 - us-gov-west-1 - us-gov-east-1 - ca-central-1 - eu-north-1 - eu-west-1 - eu-west-2 - eu-west-3 - eu-central-1 - eu-south-1 - af-south-1 - ap-northeast-1 - ap-northeast-2 - ap-northeast-3 - ap-southeast-1 - ap-southeast-2 - ap-east-1 - ap-south-1 - sa-east-1 - me-south-1 default: us-east-1 description: The CodePipeline multi-region endpoint - url: https://codepipeline.{region}.amazonaws.com variables: region: description: The AWS region enum: - us-east-1 - us-east-2 - us-west-1 - us-west-2 - us-gov-west-1 - us-gov-east-1 - ca-central-1 - eu-north-1 - eu-west-1 - eu-west-2 - eu-west-3 - eu-central-1 - eu-south-1 - af-south-1 - ap-northeast-1 - ap-northeast-2 - ap-northeast-3 - ap-southeast-1 - ap-southeast-2 - ap-east-1 - ap-south-1 - sa-east-1 - me-south-1 default: us-east-1 description: The CodePipeline multi-region endpoint - url: http://codepipeline.{region}.amazonaws.com.cn variables: region: description: The AWS region enum: - cn-north-1 - cn-northwest-1 default: cn-north-1 description: The CodePipeline endpoint for China (Beijing) and China (Ningxia) - url: https://codepipeline.{region}.amazonaws.com.cn variables: region: description: The AWS region enum: - cn-north-1 - cn-northwest-1 default: cn-north-1 description: The CodePipeline endpoint for China (Beijing) and China (Ningxia) security: - hmac: [] tags: - name: '#X Amz Target=CodePipeline 20150709.PollForJobs' paths: /#X-Amz-Target=CodePipeline_20150709.PollForJobs: parameters: - $ref: '#/components/parameters/X-Amz-Content-Sha256' - $ref: '#/components/parameters/X-Amz-Date' - $ref: '#/components/parameters/X-Amz-Algorithm' - $ref: '#/components/parameters/X-Amz-Credential' - $ref: '#/components/parameters/X-Amz-Security-Token' - $ref: '#/components/parameters/X-Amz-Signature' - $ref: '#/components/parameters/X-Amz-SignedHeaders' post: operationId: PollForJobs description:

Returns information about any jobs for CodePipeline to act on. PollForJobs is valid only for action types with "Custom" in the owner field. If the action type contains AWS or ThirdParty in the owner field, the PollForJobs action returns an error.

When this API is called, CodePipeline returns temporary credentials for the S3 bucket used to store artifacts for the pipeline, if the action requires access to that S3 bucket for input or output artifacts. This API also returns any secret values defined for the action.

responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/PollForJobsOutput' examples: PollForJobs200Example: summary: Default PollForJobs 200 response x-microcks-default: true value: jobs: example-value '480': description: ValidationException content: application/json: schema: $ref: '#/components/schemas/ValidationException' examples: PollForJobs480Example: summary: Default PollForJobs 480 response x-microcks-default: true value: example-value '481': description: ActionTypeNotFoundException content: application/json: schema: $ref: '#/components/schemas/ActionTypeNotFoundException' examples: PollForJobs481Example: summary: Default PollForJobs 481 response x-microcks-default: true value: example-value requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/PollForJobsInput' examples: PollForJobsRequestExample: summary: Default PollForJobs request x-microcks-default: true value: actionTypeId: '500123' maxBatchSize: example-value queryParam: example-value parameters: - name: X-Amz-Target in: header required: true schema: type: string enum: - CodePipeline_20150709.PollForJobs summary: Amazon CodePipeline Poll for Jobs x-microcks-operation: delay: 0 dispatcher: FALLBACK tags: - '#X Amz Target=CodePipeline 20150709.PollForJobs' components: schemas: Artifact: type: object properties: name: allOf: - $ref: '#/components/schemas/ArtifactName' - description: The artifact's name. revision: allOf: - $ref: '#/components/schemas/Revision' - description: The artifact's revision ID. Depending on the type of object, this could be a commit ID (GitHub) or a revision ID (Amazon S3). location: allOf: - $ref: '#/components/schemas/ArtifactLocation' - description: The location of an artifact. description: 'Artifacts are the files that are worked on by actions in the pipeline. See the action configuration for each action for details about artifact parameters. For example, the S3 source action artifact is a file name (or file path), and the files are generally provided as a ZIP file. Example artifact name: SampleApp_Windows.zip' ActionContext: type: object properties: name: allOf: - $ref: '#/components/schemas/ActionName' - description: The name of the action in the context of a job. actionExecutionId: allOf: - $ref: '#/components/schemas/ActionExecutionId' - description: The system-generated unique ID that corresponds to an action's execution. description: Represents the context of an action in the stage of a pipeline to a job worker. S3BucketName: type: string ActionName: type: string pattern: '[A-Za-z0-9.@\-_]+' minLength: 1 maxLength: 100 SecretAccessKey: type: string format: password ActionCategory: type: string enum: - Source - Build - Deploy - Test - Invoke - Approval Nonce: type: string minLength: 1 maxLength: 50 ActionConfiguration: type: object properties: configuration: allOf: - $ref: '#/components/schemas/ActionConfigurationMap' - description: The configuration data for the action. description: Represents information about an action configuration. S3ObjectKey: type: string ActionConfigurationMap: type: object additionalProperties: $ref: '#/components/schemas/ActionConfigurationValue' AccountId: type: string pattern: '[0-9]{12}' Revision: type: string minLength: 1 maxLength: 1500 PollForJobsOutput: type: object properties: jobs: allOf: - $ref: '#/components/schemas/JobList' - description: Information about the jobs to take action on. description: Represents the output of a PollForJobs action. JobList: type: array items: $ref: '#/components/schemas/Job' AccessKeyId: type: string format: password JobData: type: object properties: actionTypeId: allOf: - $ref: '#/components/schemas/ActionTypeId' - description: Represents information about an action type. actionConfiguration: allOf: - $ref: '#/components/schemas/ActionConfiguration' - description: Represents information about an action configuration. pipelineContext: allOf: - $ref: '#/components/schemas/PipelineContext' - description:

Represents information about a pipeline to a job worker.

Includes pipelineArn and pipelineExecutionId for custom jobs.

inputArtifacts: allOf: - $ref: '#/components/schemas/ArtifactList' - description: The artifact supplied to the job. outputArtifacts: allOf: - $ref: '#/components/schemas/ArtifactList' - description: The output of the job. artifactCredentials: allOf: - $ref: '#/components/schemas/AWSSessionCredentials' - description: Represents an Amazon Web Services session credentials object. These credentials are temporary credentials that are issued by Amazon Web Services Secure Token Service (STS). They can be used to access input and output artifacts in the S3 bucket used to store artifacts for the pipeline in CodePipeline. continuationToken: allOf: - $ref: '#/components/schemas/ContinuationToken' - description: A system-generated token, such as a deployment ID, required by a job to continue the job asynchronously. encryptionKey: allOf: - $ref: '#/components/schemas/EncryptionKey' - description: 'Represents information about the key used to encrypt data in the artifact store, such as an KMS key. ' description: Represents other information about a job required for a job worker to complete the job. ActionConfigurationQueryableValue: type: string pattern: '[a-zA-Z0-9_-]+' minLength: 1 maxLength: 50 ValidationException: {} JobId: type: string pattern: '[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}' ActionTypeNotFoundException: {} S3ArtifactLocation: type: object required: - bucketName - objectKey properties: bucketName: allOf: - $ref: '#/components/schemas/S3BucketName' - description: The name of the S3 bucket. objectKey: allOf: - $ref: '#/components/schemas/S3ObjectKey' - description: The key of the object in the S3 bucket, which uniquely identifies the object in the bucket. description: The location of the S3 bucket that contains a revision. PipelineContext: type: object properties: pipelineName: allOf: - $ref: '#/components/schemas/PipelineName' - description: The name of the pipeline. This is a user-specified value. Pipeline names must be unique across all pipeline names under an Amazon Web Services account. stage: allOf: - $ref: '#/components/schemas/StageContext' - description: The stage of the pipeline. action: allOf: - $ref: '#/components/schemas/ActionContext' - description: The context of an action to a job worker in the stage of a pipeline. pipelineArn: allOf: - $ref: '#/components/schemas/PipelineArn' - description: The Amazon Resource Name (ARN) of the pipeline. pipelineExecutionId: allOf: - $ref: '#/components/schemas/PipelineExecutionId' - description: The execution ID of the pipeline. description:

Represents information about a pipeline to a job worker.

PipelineContext contains pipelineArn and pipelineExecutionId for custom action jobs. The pipelineArn and pipelineExecutionId fields are not populated for ThirdParty action jobs.

ActionOwner: type: string enum: - AWS - ThirdParty - Custom ArtifactLocation: type: object properties: type: allOf: - $ref: '#/components/schemas/ArtifactLocationType' - description: The type of artifact in the location. s3Location: allOf: - $ref: '#/components/schemas/S3ArtifactLocation' - description: The S3 bucket that contains the artifact. description: Represents information about the location of an artifact. EncryptionKeyId: type: string minLength: 1 maxLength: 400 SessionToken: type: string format: password PipelineArn: type: string pattern: arn:aws(-[\w]+)*:codepipeline:.+:[0-9]{12}:.+ EncryptionKeyType: type: string enum: - KMS PipelineName: type: string pattern: '[A-Za-z0-9.@\-_]+' minLength: 1 maxLength: 100 AWSSessionCredentials: type: object required: - accessKeyId - secretAccessKey - sessionToken properties: accessKeyId: allOf: - $ref: '#/components/schemas/AccessKeyId' - description: The access key for the session. secretAccessKey: allOf: - $ref: '#/components/schemas/SecretAccessKey' - description: The secret access key for the session. sessionToken: allOf: - $ref: '#/components/schemas/SessionToken' - description: The token for the session. description: Represents an Amazon Web Services session credentials object. These credentials are temporary credentials that are issued by Amazon Web Services Secure Token Service (STS). They can be used to access input and output artifacts in the S3 bucket used to store artifact for the pipeline in CodePipeline. QueryParamMap: type: object minProperties: 0 maxProperties: 1 additionalProperties: $ref: '#/components/schemas/ActionConfigurationQueryableValue' Job: type: object properties: id: allOf: - $ref: '#/components/schemas/JobId' - description: The unique system-generated ID of the job. data: allOf: - $ref: '#/components/schemas/JobData' - description: Other data about a job. nonce: allOf: - $ref: '#/components/schemas/Nonce' - description: A system-generated random number that CodePipeline uses to ensure that the job is being worked on by only one job worker. Use this number in an AcknowledgeJob request. accountId: allOf: - $ref: '#/components/schemas/AccountId' - description: The ID of the Amazon Web Services account to use when performing the job. description: Represents information about a job. Version: type: string pattern: '[0-9A-Za-z_-]+' minLength: 1 maxLength: 9 ActionTypeId: type: object required: - category - owner - provider - version properties: category: allOf: - $ref: '#/components/schemas/ActionCategory' - description:

A category defines what kind of action can be taken in the stage, and constrains the provider type for the action. Valid categories are limited to one of the following values.

owner: allOf: - $ref: '#/components/schemas/ActionOwner' - description: 'The creator of the action being called. There are three valid values for the Owner field in the action category section within your pipeline structure: AWS, ThirdParty, and Custom. For more information, see Valid Action Types and Providers in CodePipeline.' provider: allOf: - $ref: '#/components/schemas/ActionProvider' - description: The provider of the service being called by the action. Valid providers are determined by the action category. For example, an action in the Deploy category type might have a provider of CodeDeploy, which would be specified as CodeDeploy. For more information, see Valid Action Types and Providers in CodePipeline. version: allOf: - $ref: '#/components/schemas/Version' - description: A string that describes the action version. description: Represents information about an action type. PipelineExecutionId: type: string pattern: '[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}' ArtifactList: type: array items: $ref: '#/components/schemas/Artifact' PollForJobsInput: type: object required: - actionTypeId title: PollForJobsInput properties: actionTypeId: allOf: - $ref: '#/components/schemas/ActionTypeId' - description: Represents information about an action type. maxBatchSize: allOf: - $ref: '#/components/schemas/MaxBatchSize' - description: The maximum number of jobs to return in a poll for jobs call. queryParam: allOf: - $ref: '#/components/schemas/QueryParamMap' - description: A map of property names and values. For an action type with no queryable properties, this value must be null or an empty map. For an action type with a queryable property, you must supply that property as a key in the map. Only jobs whose action configuration matches the mapped value are returned. description: Represents the input of a PollForJobs action. ActionProvider: type: string pattern: '[0-9A-Za-z_-]+' minLength: 1 maxLength: 35 EncryptionKey: type: object required: - id - type properties: id: allOf: - $ref: '#/components/schemas/EncryptionKeyId' - description:

The ID used to identify the key. For an Amazon Web Services KMS key, you can use the key ID, the key ARN, or the alias ARN.

Aliases are recognized only in the account that created the KMS key. For cross-account actions, you can only use the key ID or key ARN to identify the key. Cross-account actions involve using the role from the other account (AccountB), so specifying the key ID will use the key from the other account (AccountB).

type: allOf: - $ref: '#/components/schemas/EncryptionKeyType' - description: The type of encryption key, such as an Amazon Web Services KMS key. When creating or updating a pipeline, the value must be set to 'KMS'. description: Represents information about the key used to encrypt data in the artifact store, such as an Amazon Web Services Key Management Service (Key Management Service) key. ActionConfigurationValue: type: string minLength: 1 maxLength: 1000 StageName: type: string pattern: '[A-Za-z0-9.@\-_]+' minLength: 1 maxLength: 100 ArtifactLocationType: type: string enum: - S3 StageContext: type: object properties: name: allOf: - $ref: '#/components/schemas/StageName' - description: The name of the stage. description: Represents information about a stage to a job worker. ArtifactName: type: string pattern: '[a-zA-Z0-9_\-]+' minLength: 1 maxLength: 100 ActionExecutionId: type: string MaxBatchSize: type: integer minimum: 1 ContinuationToken: type: string minLength: 1 maxLength: 2048 parameters: X-Amz-SignedHeaders: name: X-Amz-SignedHeaders in: header schema: type: string required: false X-Amz-Signature: name: X-Amz-Signature in: header schema: type: string required: false X-Amz-Security-Token: name: X-Amz-Security-Token in: header schema: type: string required: false X-Amz-Content-Sha256: name: X-Amz-Content-Sha256 in: header schema: type: string required: false X-Amz-Date: name: X-Amz-Date in: header schema: type: string required: false X-Amz-Credential: name: X-Amz-Credential in: header schema: type: string required: false X-Amz-Algorithm: name: X-Amz-Algorithm in: header schema: type: string required: false securitySchemes: hmac: type: apiKey name: Authorization in: header description: Amazon Signature authorization v4 x-amazon-apigateway-authtype: awsSigv4 externalDocs: description: Amazon Web Services documentation url: https://docs.aws.amazon.com/codepipeline/ x-hasEquivalentPaths: true