What is @aws-sdk/client-codebuild?
@aws-sdk/client-codebuild is a part of the AWS SDK for JavaScript, which allows developers to interact with AWS CodeBuild, a fully managed continuous integration service that compiles source code, runs tests, and produces software packages that are ready to deploy.
What are @aws-sdk/client-codebuild's main functionalities?
Start a Build
This feature allows you to start a new build for a specified CodeBuild project. The code sample demonstrates how to initiate a build using the StartBuildCommand.
const { CodeBuildClient, StartBuildCommand } = require('@aws-sdk/client-codebuild');
const client = new CodeBuildClient({ region: 'us-west-2' });
const params = {
projectName: 'my-project',
};
const run = async () => {
try {
const data = await client.send(new StartBuildCommand(params));
console.log('Build started:', data);
} catch (err) {
console.error('Error starting build:', err);
}
};
run();
List Builds
This feature allows you to list all the builds in your AWS account. The code sample demonstrates how to retrieve and print the list of build IDs using the ListBuildsCommand.
const { CodeBuildClient, ListBuildsCommand } = require('@aws-sdk/client-codebuild');
const client = new CodeBuildClient({ region: 'us-west-2' });
const run = async () => {
try {
const data = await client.send(new ListBuildsCommand({}));
console.log('Builds:', data.ids);
} catch (err) {
console.error('Error listing builds:', err);
}
};
run();
Get Build Details
This feature allows you to get detailed information about specific builds. The code sample demonstrates how to retrieve details for specified build IDs using the BatchGetBuildsCommand.
const { CodeBuildClient, BatchGetBuildsCommand } = require('@aws-sdk/client-codebuild');
const client = new CodeBuildClient({ region: 'us-west-2' });
const params = {
ids: ['build-id-1', 'build-id-2'],
};
const run = async () => {
try {
const data = await client.send(new BatchGetBuildsCommand(params));
console.log('Build details:', data.builds);
} catch (err) {
console.error('Error getting build details:', err);
}
};
run();
Other packages similar to @aws-sdk/client-codebuild
aws-sdk
The 'aws-sdk' package is the older version of the AWS SDK for JavaScript. It provides a comprehensive set of tools for interacting with AWS services, including CodeBuild. However, it is not modular like the '@aws-sdk/client-codebuild' package, which means it can be bulkier and less efficient for applications that only need specific services.
serverless
The 'serverless' package is a framework for building and deploying serverless applications. While it is not specifically focused on CodeBuild, it provides integrations with AWS services, including CodeBuild, to facilitate CI/CD pipelines. It offers a higher-level abstraction compared to '@aws-sdk/client-codebuild'.
aws-cdk
The 'aws-cdk' (AWS Cloud Development Kit) allows developers to define cloud infrastructure using familiar programming languages. It includes constructs for CodeBuild projects and pipelines, providing a higher-level, more abstract way to manage CI/CD compared to the '@aws-sdk/client-codebuild' package.
@aws-sdk/client-codebuild
Description
AWS SDK for JavaScript CodeBuild Client for Node.js, Browser and React Native.
CodeBuild
CodeBuild is a fully managed build service in the cloud. CodeBuild compiles your source code,
runs unit tests, and produces artifacts that are ready to deploy. CodeBuild eliminates the
need to provision, manage, and scale your own build servers. It provides prepackaged
build environments for the most popular programming languages and build tools, such as
Apache Maven, Gradle, and more. You can also fully customize build environments in CodeBuild
to use your own build tools. CodeBuild scales automatically to meet peak build requests. You
pay only for the build time you consume. For more information about CodeBuild, see the
CodeBuild User
Guide.
Installing
To install this package, simply type add or install @aws-sdk/client-codebuild
using your favorite package manager:
npm install @aws-sdk/client-codebuild
yarn add @aws-sdk/client-codebuild
pnpm add @aws-sdk/client-codebuild
Getting Started
Import
The AWS SDK is modulized by clients and commands.
To send a request, you only need to import the CodeBuildClient
and
the commands you need, for example ListBuildsCommand
:
const { CodeBuildClient, ListBuildsCommand } = require("@aws-sdk/client-codebuild");
import { CodeBuildClient, ListBuildsCommand } from "@aws-sdk/client-codebuild";
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 CodeBuildClient({ region: "REGION" });
const params = {
};
const command = new ListBuildsCommand(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-codebuild";
const client = new AWS.CodeBuild({ region: "REGION" });
try {
const data = await client.listBuilds(params);
} catch (error) {
}
client
.listBuilds(params)
.then((data) => {
})
.catch((error) => {
});
client.listBuilds(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-codebuild
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)
BatchDeleteBuilds
Command API Reference / Input / Output
BatchGetBuildBatches
Command API Reference / Input / Output
BatchGetBuilds
Command API Reference / Input / Output
BatchGetFleets
Command API Reference / Input / Output
BatchGetProjects
Command API Reference / Input / Output
BatchGetReportGroups
Command API Reference / Input / Output
BatchGetReports
Command API Reference / Input / Output
CreateFleet
Command API Reference / Input / Output
CreateProject
Command API Reference / Input / Output
CreateReportGroup
Command API Reference / Input / Output
CreateWebhook
Command API Reference / Input / Output
DeleteBuildBatch
Command API Reference / Input / Output
DeleteFleet
Command API Reference / Input / Output
DeleteProject
Command API Reference / Input / Output
DeleteReport
Command API Reference / Input / Output
DeleteReportGroup
Command API Reference / Input / Output
DeleteResourcePolicy
Command API Reference / Input / Output
DeleteSourceCredentials
Command API Reference / Input / Output
DeleteWebhook
Command API Reference / Input / Output
DescribeCodeCoverages
Command API Reference / Input / Output
DescribeTestCases
Command API Reference / Input / Output
GetReportGroupTrend
Command API Reference / Input / Output
GetResourcePolicy
Command API Reference / Input / Output
ImportSourceCredentials
Command API Reference / Input / Output
InvalidateProjectCache
Command API Reference / Input / Output
ListBuildBatches
Command API Reference / Input / Output
ListBuildBatchesForProject
Command API Reference / Input / Output
ListBuilds
Command API Reference / Input / Output
ListBuildsForProject
Command API Reference / Input / Output
ListCuratedEnvironmentImages
Command API Reference / Input / Output
ListFleets
Command API Reference / Input / Output
ListProjects
Command API Reference / Input / Output
ListReportGroups
Command API Reference / Input / Output
ListReports
Command API Reference / Input / Output
ListReportsForReportGroup
Command API Reference / Input / Output
ListSharedProjects
Command API Reference / Input / Output
ListSharedReportGroups
Command API Reference / Input / Output
ListSourceCredentials
Command API Reference / Input / Output
PutResourcePolicy
Command API Reference / Input / Output
RetryBuild
Command API Reference / Input / Output
RetryBuildBatch
Command API Reference / Input / Output
StartBuild
Command API Reference / Input / Output
StartBuildBatch
Command API Reference / Input / Output
StopBuild
Command API Reference / Input / Output
StopBuildBatch
Command API Reference / Input / Output
UpdateFleet
Command API Reference / Input / Output
UpdateProject
Command API Reference / Input / Output
UpdateProjectVisibility
Command API Reference / Input / Output
UpdateReportGroup
Command API Reference / Input / Output
UpdateWebhook
Command API Reference / Input / Output