CodePipelineClient

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

  • Compute

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:

  • DisableStageTransition, which prevents artifacts from transitioning to the next stage in a pipeline.

  • EnableStageTransition, which enables transition of artifacts between stages in a pipeline.

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:

  • AcknowledgeJob, which confirms whether a job worker has received the specified job.

  • GetJobDetails, which returns the details of a job.

  • PollForJobs, which determines whether there are any jobs to act on.

  • PutJobFailureResult, which provides details of a job failure.

  • PutJobSuccessResult, which provides details of a job success.

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:

  • AcknowledgeThirdPartyJob, which confirms whether a job worker has received the specified job.

  • GetThirdPartyJobDetails, which requests the details of a job for a partner action.

  • PollForThirdPartyJobs, which determines whether there are any jobs to act on.

  • PutThirdPartyJobFailureResult, which provides details of a job failure.

  • PutThirdPartyJobSuccessResult, which provides details of a job success.

Installation

NPM
npm install @aws-sdk/client-codepipeline
Yarn
yarn add @aws-sdk/client-codepipeline
pnpm
pnpm add @aws-sdk/client-codepipeline

CodePipelineClient Operations

Command
Summary
AcknowledgeJobCommand

Returns information about a specified job and whether that job has been received by the job worker. Used for custom actions only.

AcknowledgeThirdPartyJobCommand

Confirms a job worker has received the specified job. Used for partner actions only.

CreateCustomActionTypeCommand

Creates a new custom action that can be used in all pipelines associated with the Amazon Web Services account. Only used for custom actions.

CreatePipelineCommand

Creates a pipeline.

In the pipeline structure, you must include either artifactStore or artifactStores in your pipeline, but you cannot use both. If you create a cross-region action in your pipeline, you must use artifactStores.

DeleteCustomActionTypeCommand

Marks a custom action as deleted. PollForJobs for the custom action fails after the action is marked for deletion. Used for custom actions only.

To re-create a custom action after it has been deleted you must use a string in the version field that has never been used before. This string can be an incremented version number, for example. To restore a deleted custom action, use a JSON file that is identical to the deleted action, including the original string in the version field.

DeletePipelineCommand

Deletes the specified pipeline.

DeleteWebhookCommand

Deletes a previously created webhook by name. Deleting the webhook stops CodePipeline from starting a pipeline every time an external event occurs. The API returns successfully when trying to delete a webhook that is already deleted. If a deleted webhook is re-created by calling PutWebhook with the same name, it will have a different URL.

DeregisterWebhookWithThirdPartyCommand

Removes the connection between the webhook that was created by CodePipeline and the external tool with events to be detected. Currently supported only for webhooks that target an action type of GitHub.

DisableStageTransitionCommand

Prevents artifacts in a pipeline from transitioning to the next stage in the pipeline.

EnableStageTransitionCommand

Enables artifacts in a pipeline to transition to a stage in a pipeline.

GetActionTypeCommand

Returns information about an action type created for an external provider, where the action is to be used by customers of the external provider. The action can be created with any supported integration model.

GetJobDetailsCommand

Returns information about a job. Used for custom actions only.

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.

GetPipelineCommand

Returns the metadata, structure, stages, and actions of a pipeline. Can be used to return the entire structure of a pipeline in JSON format, which can then be modified and used to update the pipeline structure with UpdatePipeline.

GetPipelineExecutionCommand

Returns information about an execution of a pipeline, including details about artifacts, the pipeline execution ID, and the name, version, and status of the pipeline.

GetPipelineStateCommand

Returns information about the state of a pipeline, including the stages and actions.

Values returned in the revisionId and revisionUrl fields indicate the source revision information, such as the commit ID, for the current state.

GetThirdPartyJobDetailsCommand

Requests the details of a job for a third party action. Used for partner actions only.

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.

ListActionExecutionsCommand

Lists the action executions that have occurred in a pipeline.

ListActionTypesCommand

Gets a summary of all CodePipeline action types associated with your account.

ListPipelineExecutionsCommand

Gets a summary of the most recent executions for a pipeline.

When applying the filter for pipeline executions that have succeeded in the stage, the operation returns all executions in the current pipeline version beginning on February 1, 2024.

ListPipelinesCommand

Gets a summary of all of the pipelines associated with your account.

ListRuleExecutionsCommand

Lists the rule executions that have occurred in a pipeline configured for conditions with rules.

ListRuleTypesCommand

Lists the rules for the condition. For more information about conditions, see Stage conditions . For more information about rules, see the CodePipeline rule reference .

ListTagsForResourceCommand

Gets the set of key-value pairs (metadata) that are used to manage the resource.

ListWebhooksCommand

Gets a listing of all the webhooks in this Amazon Web Services Region for this account. The output lists all webhooks and includes the webhook URL and ARN and the configuration for each webhook.

If a secret token was provided, it will be redacted in the response.

OverrideStageConditionCommand

Used to override a stage condition.

PollForJobsCommand

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.

PollForThirdPartyJobsCommand

Determines whether there are any third party jobs for a job worker to act on. Used for partner actions only.

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.

PutActionRevisionCommand

Provides information to CodePipeline about new revisions to a source.

PutApprovalResultCommand

Provides the response to a manual approval request to CodePipeline. Valid responses include Approved and Rejected.

PutJobFailureResultCommand

Represents the failure of a job as returned to the pipeline by a job worker. Used for custom actions only.

PutJobSuccessResultCommand

Represents the success of a job as returned to the pipeline by a job worker. Used for custom actions only.

PutThirdPartyJobFailureResultCommand

Represents the failure of a third party job as returned to the pipeline by a job worker. Used for partner actions only.

PutThirdPartyJobSuccessResultCommand

Represents the success of a third party job as returned to the pipeline by a job worker. Used for partner actions only.

PutWebhookCommand

Defines a webhook and returns a unique webhook URL generated by CodePipeline. This URL can be supplied to third party source hosting providers to call every time there's a code change. When CodePipeline receives a POST request on this URL, the pipeline defined in the webhook is started as long as the POST request satisfied the authentication and filtering requirements supplied when defining the webhook. RegisterWebhookWithThirdParty and DeregisterWebhookWithThirdParty APIs can be used to automatically configure supported third parties to call the generated webhook URL.

When creating CodePipeline webhooks, do not use your own credentials or reuse the same secret token across multiple webhooks. For optimal security, generate a unique secret token for each webhook you create. The secret token is an arbitrary string that you provide, which GitHub uses to compute and sign the webhook payloads sent to CodePipeline, for protecting the integrity and authenticity of the webhook payloads. Using your own credentials or reusing the same token across multiple webhooks can lead to security vulnerabilities.

If a secret token was provided, it will be redacted in the response.

RegisterWebhookWithThirdPartyCommand

Configures a connection between the webhook that was created and the external tool with events to be detected.

RetryStageExecutionCommand

You can retry a stage that has failed without having to run a pipeline again from the beginning. You do this by either retrying the failed actions in a stage or by retrying all actions in the stage starting from the first action in the stage. When you retry the failed actions in a stage, all actions that are still in progress continue working, and failed actions are triggered again. When you retry a failed stage from the first action in the stage, the stage cannot have any actions in progress. Before a stage can be retried, it must either have all actions failed or some actions failed and some succeeded.

RollbackStageCommand

Rolls back a stage execution.

StartPipelineExecutionCommand

Starts the specified pipeline. Specifically, it begins processing the latest commit to the source location specified as part of the pipeline.

StopPipelineExecutionCommand

Stops the specified pipeline execution. You choose to either stop the pipeline execution by completing in-progress actions without starting subsequent actions, or by abandoning in-progress actions. While completing or abandoning in-progress actions, the pipeline execution is in a Stopping state. After all in-progress actions are completed or abandoned, the pipeline execution is in a Stopped state.

TagResourceCommand

Adds to or modifies the tags of the given resource. Tags are metadata that can be used to manage a resource.

UntagResourceCommand

Removes tags from an Amazon Web Services resource.

UpdateActionTypeCommand

Updates an action type that was created with any supported integration model, where the action type is to be used by customers of the action type provider. Use a JSON file with the action definition and UpdateActionType to provide the full structure.

UpdatePipelineCommand

Updates a specified pipeline with edits or changes to its structure. Use a JSON file with the pipeline structure and UpdatePipeline to provide the full structure of the pipeline. Updating the pipeline increases the version number of the pipeline by 1.

CodePipelineClient Configuration

Parameter
Type
Description
defaultsMode
Optional
DefaultsMode | Provider<DefaultsMode>
The @smithy/smithy-client#DefaultsMode that will be used to determine how certain default configuration options are resolved in the SDK.
disableHostPrefix
Optional
boolean
Disable dynamically changing the endpoint of the client based on the hostPrefix trait of an operation.
extensions
Optional
RuntimeExtension[]
Optional extensions
logger
Optional
Logger
Optional logger for logging debug/info/warn/error.
maxAttempts
Optional
number | Provider<number>
Value for how many times a request will be made at most in case of retry.
profile
Optional
string
Setting a client profile is similar to setting a value for the AWS_PROFILE environment variable. Setting a profile on a client in code only affects the single client instance, unlike AWS_PROFILE.When set, and only for environments where an AWS configuration file exists, fields configurable by this file will be retrieved from the specified profile within that file. Conflicting code configuration and environment variables will still have higher priority.For client credential resolution that involves checking the AWS configuration file, the client's profile (this value) will be used unless a different profile is set in the credential provider options.
region
Optional
string | Provider<string>
The AWS region to which this client will send requests
requestHandler
Optional
__HttpHandlerUserInput
The HTTP handler to use or its constructor options. Fetch in browser and Https in Nodejs.
retryMode
Optional
string | Provider<string>
Specifies which retry algorithm to use.
useDualstackEndpoint
Optional
boolean | Provider<boolean>
Enables IPv6/IPv4 dualstack endpoint.
useFipsEndpoint
Optional
boolean | Provider<boolean>
Enables FIPS compatible endpoints.
Additional config fields are described in the full configuration type: CodePipelineClientConfig