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:
-
CreatePipeline, which creates a uniquely named pipeline.
-
DeletePipeline, which deletes the specified pipeline.
-
GetPipeline, which returns information about the pipeline structure and pipeline metadata, including the pipeline Amazon Resource Name (ARN).
-
GetPipelineExecution, which returns information about a specific execution of a pipeline.
-
GetPipelineState, which returns information about the current state of the stages and actions of a pipeline.
-
ListActionExecutions, which returns action-level details for past executions. The details include full stage and action-level details, including individual action duration, status, any errors that occurred during the execution, and input and output artifact location details.
-
ListPipelines, which gets a summary of all of the pipelines associated with your account.
-
ListPipelineExecutions, which gets a summary of the most recent executions for a pipeline.
-
StartPipelineExecution, which runs the most recent revision of an artifact through the pipeline.
-
StopPipelineExecution, which stops the specified pipeline execution from continuing through the pipeline.
-
UpdatePipeline, which updates a pipeline with edits or changes to the structure of the pipeline.
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:
-
Source
-
Build
-
Test
-
Deploy
-
Approval
-
Invoke
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.
-
Source
-
Build
-
Test
-
Deploy
-
Invoke
-
Approval
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