What is @aws-sdk/client-codepipeline?
@aws-sdk/client-codepipeline is a part of the AWS SDK for JavaScript, which allows developers to interact with AWS CodePipeline, a continuous integration and continuous delivery service for fast and reliable application and infrastructure updates. This package provides methods to create, update, delete, and manage pipelines, as well as to retrieve information about pipeline executions and artifacts.
What are @aws-sdk/client-codepipeline's main functionalities?
Create a Pipeline
This feature allows you to create a new pipeline in AWS CodePipeline. You need to provide the pipeline configuration, which includes stages, actions, and other settings.
{"import":"import { CodePipelineClient, CreatePipelineCommand } from '@aws-sdk/client-codepipeline';","client":"const client = new CodePipelineClient({ region: 'us-west-2' });","command":"const command = new CreatePipelineCommand({ /* pipeline configuration */ });","execute":"const response = await client.send(command);","example":"const pipelineConfig = { /* your pipeline configuration here */ }; const command = new CreatePipelineCommand(pipelineConfig); const response = await client.send(command);"}
Get Pipeline State
This feature allows you to retrieve the current state of a specified pipeline, including the status of stages and actions.
{"import":"import { CodePipelineClient, GetPipelineStateCommand } from '@aws-sdk/client-codepipeline';","client":"const client = new CodePipelineClient({ region: 'us-west-2' });","command":"const command = new GetPipelineStateCommand({ name: 'my-pipeline' });","execute":"const response = await client.send(command);","example":"const command = new GetPipelineStateCommand({ name: 'my-pipeline' }); const response = await client.send(command);"}
Start Pipeline Execution
This feature allows you to manually start the execution of a specified pipeline.
{"import":"import { CodePipelineClient, StartPipelineExecutionCommand } from '@aws-sdk/client-codepipeline';","client":"const client = new CodePipelineClient({ region: 'us-west-2' });","command":"const command = new StartPipelineExecutionCommand({ name: 'my-pipeline' });","execute":"const response = await client.send(command);","example":"const command = new StartPipelineExecutionCommand({ name: 'my-pipeline' }); const response = await client.send(command);"}
List Pipelines
This feature allows you to list all the pipelines in your AWS account.
{"import":"import { CodePipelineClient, ListPipelinesCommand } from '@aws-sdk/client-codepipeline';","client":"const client = new CodePipelineClient({ region: 'us-west-2' });","command":"const command = new ListPipelinesCommand({});","execute":"const response = await client.send(command);","example":"const command = new ListPipelinesCommand({}); const response = await client.send(command);"}
Other packages similar to @aws-sdk/client-codepipeline
aws-sdk
The 'aws-sdk' package is the official AWS SDK for JavaScript, which includes support for all AWS services, including CodePipeline. It is a more comprehensive package compared to @aws-sdk/client-codepipeline, which is focused solely on CodePipeline.
serverless
The 'serverless' framework allows you to build and deploy serverless applications on AWS and other cloud providers. It includes plugins and integrations for CI/CD pipelines, but it is more focused on serverless architecture rather than providing direct API access to AWS services like CodePipeline.
aws-cdk
The 'aws-cdk' (AWS Cloud Development Kit) allows you to define cloud infrastructure using code and provides higher-level abstractions for AWS services, including CodePipeline. It is more focused on infrastructure as code (IaC) and less on direct API interactions.
@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
-
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:
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:
Installing
To install 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
:
const { CodePipelineClient, ListActionTypesCommand } = require("@aws-sdk/client-codepipeline");
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.
const client = new CodePipelineClient({ region: "REGION" });
const params = {
};
const command = new ListActionTypesCommand(params);
Async/await
We recommend using await
operator to wait for the promise returned by send operation as follows:
try {
const data = await client.send(command);
} catch (error) {
} 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) => {
},
(error) => {
}
);
Promises can also be called using .catch()
and .finally()
as follows:
client
.send(command)
.then((data) => {
})
.catch((error) => {
})
.finally(() => {
});
Callbacks
We do not recommend using callbacks because of callback hell,
but they are supported by the send operation.
client.send(command, (err, 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" });
try {
const data = await client.listActionTypes(params);
} catch (error) {
}
client
.listActionTypes(params)
.then((data) => {
})
.catch((error) => {
});
client.listActionTypes(params, (err, 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);
} catch (error) {
const { requestId, cfId, extendedRequestId } = error.$metadata;
console.log({ requestId, cfId, extendedRequestId });
}
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
ListRuleExecutions
Command API Reference / Input / Output
ListRuleTypes
Command API Reference / Input / Output
ListTagsForResource
Command API Reference / Input / Output
ListWebhooks
Command API Reference / Input / Output
OverrideStageCondition
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
RollbackStage
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