Security News
Research
Data Theft Repackaged: A Case Study in Malicious Wrapper Packages on npm
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
@aws-sdk/client-codepipeline
Advanced tools
AWS SDK for JavaScript Codepipeline Client for Node.js, Browser and React Native
@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.
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);"}
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.
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.
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 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:
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.
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
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";
To send a request, you:
send
operation on client with command object as input.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);
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.
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.
});
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.
});
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.
});
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;
* }
*/
}
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.
aws-sdk-js
on AWS Developer Blog.aws-sdk-js
.To test your universal JavaScript code in Node.js, browser and react-native environments, visit our code samples repo.
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.
This SDK is distributed under the Apache License, Version 2.0, see LICENSE for more information.
3.709.0 (2024-12-10)
FAQs
AWS SDK for JavaScript Codepipeline Client for Node.js, Browser and React Native
The npm package @aws-sdk/client-codepipeline receives a total of 87,365 weekly downloads. As such, @aws-sdk/client-codepipeline popularity was classified as popular.
We found that @aws-sdk/client-codepipeline demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 5 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Research
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
Research
Security News
Attackers used a malicious npm package typosquatting a popular ESLint plugin to steal sensitive data, execute commands, and exploit developer systems.
Security News
The Ultralytics' PyPI Package was compromised four times in one weekend through GitHub Actions cache poisoning and failure to rotate previously compromised API tokens.