@aws-sdk/client-codepipeline
TypeScript icon, indicating that this package has built-in type declarations

3.556.0 • Public • Published

@aws-sdk/client-codepipeline

Description

AWS SDK for JavaScript CodePipeline Client for Node.js, Browser and React Native.

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.

Installing

To install the this package, simply type add or install @aws-sdk/client-codepipeline using your favorite package manager:

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

Getting Started

Import

The AWS SDK is modulized by clients and commands. To send a request, you only need to import the CodePipelineClient and the commands you need, for example ListActionTypesCommand:

// ES5 example
const { CodePipelineClient, ListActionTypesCommand } = require("@aws-sdk/client-codepipeline");
// ES6+ example
import { CodePipelineClient, ListActionTypesCommand } from "@aws-sdk/client-codepipeline";

Usage

To send a request, you:

  • Initiate client with configuration (e.g. credentials, region).
  • Initiate command with input parameters.
  • Call send operation on client with command object as input.
  • If you are using a custom http handler, you may call destroy() to close open connections.
// a client can be shared by different commands.
const client = new CodePipelineClient({ region: "REGION" });

const params = {
  /** input parameters */
};
const command = new ListActionTypesCommand(params);

Async/await

We recommend using await operator to wait for the promise returned by send operation as follows:

// async/await.
try {
  const data = await client.send(command);
  // process data.
} catch (error) {
  // error handling.
} finally {
  // finally.
}

Async-await is clean, concise, intuitive, easy to debug and has better error handling as compared to using Promise chains or callbacks.

Promises

You can also use Promise chaining to execute send operation.

client.send(command).then(
  (data) => {
    // process data.
  },
  (error) => {
    // error handling.
  }
);

Promises can also be called using .catch() and .finally() as follows:

client
  .send(command)
  .then((data) => {
    // process data.
  })
  .catch((error) => {
    // error handling.
  })
  .finally(() => {
    // finally.
  });

Callbacks

We do not recommend using callbacks because of callback hell, but they are supported by the send operation.

// callbacks.
client.send(command, (err, data) => {
  // process err and data.
});

v2 compatible style

The client can also send requests using v2 compatible style. However, it results in a bigger bundle size and may be dropped in next major version. More details in the blog post on modular packages in AWS SDK for JavaScript

import * as AWS from "@aws-sdk/client-codepipeline";
const client = new AWS.CodePipeline({ region: "REGION" });

// async/await.
try {
  const data = await client.listActionTypes(params);
  // process data.
} catch (error) {
  // error handling.
}

// Promises.
client
  .listActionTypes(params)
  .then((data) => {
    // process data.
  })
  .catch((error) => {
    // error handling.
  });

// callbacks.
client.listActionTypes(params, (err, data) => {
  // process err and data.
});

Troubleshooting

When the service returns an exception, the error will include the exception information, as well as response metadata (e.g. request id).

try {
  const data = await client.send(command);
  // process data.
} catch (error) {
  const { requestId, cfId, extendedRequestId } = error.$metadata;
  console.log({ requestId, cfId, extendedRequestId });
  /**
   * The keys within exceptions are also parsed.
   * You can access them by specifying exception names:
   * if (error.name === 'SomeServiceException') {
   *     const value = error.specialKeyInException;
   * }
   */
}

Getting Help

Please use these community resources for getting help. We use the GitHub issues for tracking bugs and feature requests, but have limited bandwidth to address them.

To test your universal JavaScript code in Node.js, browser and react-native environments, visit our code samples repo.

Contributing

This client code is generated automatically. Any modifications will be overwritten the next time the @aws-sdk/client-codepipeline package is updated. To contribute to client you can check our generate clients scripts.

License

This SDK is distributed under the Apache License, Version 2.0, see LICENSE for more information.

Client Commands (Operations List)

AcknowledgeJob

Command API Reference / Input / Output

AcknowledgeThirdPartyJob

Command API Reference / Input / Output

CreateCustomActionType

Command API Reference / Input / Output

CreatePipeline

Command API Reference / Input / Output

DeleteCustomActionType

Command API Reference / Input / Output

DeletePipeline

Command API Reference / Input / Output

DeleteWebhook

Command API Reference / Input / Output

DeregisterWebhookWithThirdParty

Command API Reference / Input / Output

DisableStageTransition

Command API Reference / Input / Output

EnableStageTransition

Command API Reference / Input / Output

GetActionType

Command API Reference / Input / Output

GetJobDetails

Command API Reference / Input / Output

GetPipeline

Command API Reference / Input / Output

GetPipelineExecution

Command API Reference / Input / Output

GetPipelineState

Command API Reference / Input / Output

GetThirdPartyJobDetails

Command API Reference / Input / Output

ListActionExecutions

Command API Reference / Input / Output

ListActionTypes

Command API Reference / Input / Output

ListPipelineExecutions

Command API Reference / Input / Output

ListPipelines

Command API Reference / Input / Output

ListTagsForResource

Command API Reference / Input / Output

ListWebhooks

Command API Reference / Input / Output

PollForJobs

Command API Reference / Input / Output

PollForThirdPartyJobs

Command API Reference / Input / Output

PutActionRevision

Command API Reference / Input / Output

PutApprovalResult

Command API Reference / Input / Output

PutJobFailureResult

Command API Reference / Input / Output

PutJobSuccessResult

Command API Reference / Input / Output

PutThirdPartyJobFailureResult

Command API Reference / Input / Output

PutThirdPartyJobSuccessResult

Command API Reference / Input / Output

PutWebhook

Command API Reference / Input / Output

RegisterWebhookWithThirdParty

Command API Reference / Input / Output

RetryStageExecution

Command API Reference / Input / Output

StartPipelineExecution

Command API Reference / Input / Output

StopPipelineExecution

Command API Reference / Input / Output

TagResource

Command API Reference / Input / Output

UntagResource

Command API Reference / Input / Output

UpdateActionType

Command API Reference / Input / Output

UpdatePipeline

Command API Reference / Input / Output

Readme

Keywords

none

Package Sidebar

Install

npm i @aws-sdk/client-codepipeline

Weekly Downloads

176,358

Version

3.556.0

License

Apache-2.0

Unpacked Size

961 kB

Total Files

209

Last publish

Collaborators

  • mattsb42-aws
  • kuhe
  • amzn-oss
  • aws-sdk-bot
  • trivikr-aws