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

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.

Properties

Link copied to clipboard
abstract override val config: CodePipelineClient.Config

CodePipelineClient's configuration

Functions

Link copied to clipboard

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

Link copied to clipboard

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

Link copied to clipboard

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

Link copied to clipboard

Creates a pipeline.

Link copied to clipboard

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

Link copied to clipboard

Deletes the specified pipeline.

Link copied to clipboard

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.

Link copied to clipboard
abstract suspend fun deregisterWebhookWithThirdParty(input: DeregisterWebhookWithThirdPartyRequest = DeregisterWebhookWithThirdPartyRequest { }): DeregisterWebhookWithThirdPartyResponse

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.

Link copied to clipboard

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

Link copied to clipboard

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

Link copied to clipboard

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.

Link copied to clipboard

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

Link copied to clipboard
abstract suspend fun getPipeline(input: GetPipelineRequest): GetPipelineResponse

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.

Link copied to clipboard

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.

Link copied to clipboard

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

Link copied to clipboard

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

Link copied to clipboard

Lists the action executions that have occurred in a pipeline.

Link copied to clipboard
abstract suspend fun listActionTypes(input: ListActionTypesRequest = ListActionTypesRequest { }): ListActionTypesResponse

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

Link copied to clipboard

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

Link copied to clipboard
abstract suspend fun listPipelines(input: ListPipelinesRequest = ListPipelinesRequest { }): ListPipelinesResponse

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

Link copied to clipboard

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

Link copied to clipboard
abstract suspend fun listWebhooks(input: ListWebhooksRequest = ListWebhooksRequest { }): ListWebhooksResponse

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.

Link copied to clipboard
abstract suspend fun pollForJobs(input: PollForJobsRequest): PollForJobsResponse

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.

Link copied to clipboard

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

Link copied to clipboard

Provides information to CodePipeline about new revisions to a source.

Link copied to clipboard

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

Link copied to clipboard

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

Link copied to clipboard

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

Link copied to clipboard

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

Link copied to clipboard

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

Link copied to clipboard
abstract suspend fun putWebhook(input: PutWebhookRequest): PutWebhookResponse

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.

Link copied to clipboard
abstract suspend fun registerWebhookWithThirdParty(input: RegisterWebhookWithThirdPartyRequest = RegisterWebhookWithThirdPartyRequest { }): RegisterWebhookWithThirdPartyResponse

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

Link copied to clipboard

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.

Link copied to clipboard

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

Link copied to clipboard

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.

Link copied to clipboard
abstract suspend fun tagResource(input: TagResourceRequest): TagResourceResponse

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

Link copied to clipboard

Removes tags from an Amazon Web Services resource.

Link copied to clipboard

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.

Link copied to clipboard

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.

Inherited functions

Link copied to clipboard

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

Link copied to clipboard

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

Link copied to clipboard
expect abstract fun close()
Link copied to clipboard

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

Link copied to clipboard

Creates a pipeline.

Link copied to clipboard

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

Link copied to clipboard

Deletes the specified pipeline.

Link copied to clipboard

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.

Link copied to clipboard

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.

Link copied to clipboard

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

Link copied to clipboard

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

Link copied to clipboard

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.

Link copied to clipboard

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

Link copied to clipboard

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.

Link copied to clipboard

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.

Link copied to clipboard

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

Link copied to clipboard

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

Link copied to clipboard

Lists the action executions that have occurred in a pipeline.

Link copied to clipboard

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

Link copied to clipboard

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

Link copied to clipboard

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

Link copied to clipboard

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

Link copied to clipboard

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.

Link copied to clipboard

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.

Link copied to clipboard

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

Link copied to clipboard

Provides information to CodePipeline about new revisions to a source.

Link copied to clipboard

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

Link copied to clipboard

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

Link copied to clipboard

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

Link copied to clipboard

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

Link copied to clipboard

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

Link copied to clipboard
inline suspend fun CodePipelineClient.putWebhook(crossinline block: PutWebhookRequest.Builder.() -> Unit): PutWebhookResponse

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.

Link copied to clipboard

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

Link copied to clipboard

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.

Link copied to clipboard

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

Link copied to clipboard

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.

Link copied to clipboard

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

Link copied to clipboard

Removes tags from an Amazon Web Services resource.

Link copied to clipboard

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.

Link copied to clipboard

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.

Link copied to clipboard

Create a copy of the client with one or more configuration values overridden. This method allows the caller to perform scoped config overrides for one or more client operations.