Internet Explorer is no longer supported. Many things will still work, but your experience will be degraded and some things won't function. Please use a modern browser such as Edge, Chrome, or Firefox.

BuildMaster Release & Build Deployment API

view on GitHub

The Release & Build Deployment API offers a simple mechanism for creating releases, creating builds, and deploying builds.

This endpoint receives data entirely as key/value parameters, which may be specified in both the querystring and body (application/x-www-form-urlencoded); duplicate keys will result in a failed request (400 status).

All API endpoints are accessed through the following base URL:

🚀 Releases Endpoints

Create Release - Creates a release
Get Releases - Returns a list of all releases
Restore Release - Restores a release
Cancel Release - Cancels a release

🛠 Builds Endpoints

Create Build - Creates a build
Deploy Build - Deploys a build
Get Build - Returns a list of all builds
Reject Build - Rejects a build

⚙ Deployments Endpoint

Get Deployments - Returns a list of all deployments

Authentication

An API Key with the Release & Build Deployment permission is required to use this API.

It can be passed to each endpoint in one of four ways, depending on the content type of the expected request:

Method Name or Key Details
Request header X-ApiKey all content types
Querystring value key all content types
Form value key only applications/x-www-form-urlencoded content type
JSON property API_Key on root object, only application/json content type

To specify an API Key, use the request header (X-ApiKey), querystring (key), or api:«api-key» as the user name. See API Access and API Key to learn more.

Data Specifications

ReleaseInfo Object Properties

ReleaseInfo is a set of key/value pairs that correspond to the fields on a Release. It's used as output data for the Create Release and Get Releases endpoints, returning ReleaseInfo as a JSON-formatted object.

Property Format
id An integer representing the system-unique identifier of the release.
releaseNumber A string representing the application-unique identifier of the release.
releaseName A string representing the non-unique name or alias for the release.
sequence An integer representing the sequence relative to other releases in the application.
template A string of the template name used for this release, or null if no template is used.
status A string consisting of active, deployed, or canceled.
createdBy A string representing the user who created the release, or SYSTEM if created non-interactively.
createdOn A string representing the UTC date when the release was created, in ISO 8601 format (yyyy-MM-ddThh:mm:ss).
canceledBy A string representing the user who canceled the release, or SYSTEM if created non-interactively.
canceledOn A string representing the UTC date when the release was created, in ISO 8601 format (yyyy-MM-ddThh:mm:ss).
targetDate A string representing the UTC date of the target release date in ISO 8601 format (yyyy-MM-ddThh:mm:ss).
applicationId An integer representing the system-unique identifier of the application for the release.
applicationName A string representing the system-unique name of the application for the release.
pipelineName A string representing the name of the pipeline used by the release.
furthestBuildId An integer representing the system-unique identifier of the active or deployed build that has made it furthest in the pipeline for the release.
furthestBuildNumber A string representing the application-unique number of the active or deployed build that has made it furthest in the pipeline for the release.
latestBuildId An integer representing the system-unique identifier of the active or deployed build that was most recently created.
latestBuildNumber A string representing the application-unique number of the active or deployed build that was most recently created.

JSON Object

{
    "id": 1,
    "number": "1.0.1",
    "name": "1.0.1",
    "sequence": 1,
    "status": "active",
    "createdBy": "MikeJones",
    "createdOn": "2024-03-04T09:03:43.9200000Z",
    "applicationId": 1,
    "applicationName": "ProfitCalculator",
    "pipelineName": "Release",
    "furthestBuildId": 3,
    "furthestBuildNumber": "2",
    "latestBuildId": 3,
    "latestBuildNumber": "2",
    "deployables": [],
    "furthestPackageId": 3,
    "furthestPackageNumber": "2",
    "latestPackageId": 3,
    "latestPackageNumber": "2",
    "releaseName": "1.0.1",
    "releaseNumber": "1.0.1"
}

BuildInfo Object Properties

BuildInfo is a set of key/value pairs that correspond to the fields on a Build. It's used as output data for the Create Build and Get Build endpoints, returning BuildInfo as a JSON-formatted object.

Property Format
id An integer representing the system-unique identifier of the build.
buildNumber A string representing the build-unique identifier of the build.
status A string consisting of active, deployed, or rejected.
createdBy A string representing the user who created the build, or SYSTEM if created non-interactively.
createdOn A string representing the UTC date when the build was created, in ISO 8601 format (yyyy-MM-ddThh:mm:ss).
rejectedBy A string representing the user who rejected the build, or SYSTEM if rejected non-interactively.
rejectedOn A string representing the UTC date when the build was rejected, in ISO 8601 format (yyyy-MM-ddThh:mm:ss).
pipelineName A string representing the name of the pipeline used by the build.
furthestStage A string representing the name of the furthest stage the build has advanced to in the pipeline.
applicationId An integer representing the system-unique identifier of the application for the build.
applicationName A string representing the system-unique name of the application for the build.
releaseId An integer representing the system-unique identifier of the release for the build.
releaseNumber A string representing the application-unique number of the release for the build.
releaseName A string representing the name of the release for the build.

JSON Object

{
    "id": 1,
    "number": "3",
    "status": "active",
    "createdBy": "API",
    "createdOn": "2024-03-05T02:46:56.0800000Z",
    "applicationId": 2,
    "applicationName": "TaxCalculator",
    "pipelineName": "Release",
    "releaseId": 4,
    "releaseNumber": "1.0.1",
    "releaseName": "1.0.1",
    "buildNumber": "3"
}

DeploymentInfo Object Properties

DeploymentInfo is a set of key/value pairs that correspond to the fields on a Release. It's used as both input and output data for the Deploy Build and Get Deployments endpoints, returning DeploymentInfo as a JSON-formatted object.

Property Format
id An integer representing the system-unique identifier of the deployment.
plan A string representing the name of the plan used for deployment.
status A string consisting of pending, executing, succeeded, warned, or failed.
started A string representing the UTC date when the deployment actually started, in ISO 8601 format (yyyy-MM-ddThh:mm:ss), or null if the execution hasn't started.
ended A string representing the UTC date when the deployment completed, in ISO 8601 format (yyyy-MM-ddThh:mm:ss), or null if the execution hasn't completed.
createdBy A string representing the user who initiated the deployment, or SYSTEM if initiated non-interactively.
createdOn A string representing the UTC date when the deployment was initiated, in ISO 8601 format (yyyy-MM-ddThh:mm:ss).
canceledBy A string representing the user who canceled the deployment (SYSTEM if canceled non-interactively), or null if the deployment was not canceled.
canceledOn A string representing the UTC date when the deployment was canceled, in ISO 8601 format (yyyy-MM-ddThh:mm:ss), or null if the deployment was not canceled.
pipelineName A string representing the name of the pipeline used by the deployment.
pipelineStageName A string representing the name of the stage in the pipeline used by the deployment.
environmentId An integer representing the system-unique identifier of the environment used by the deployment, or null if no environment is in context.
environmentName A string representing the name of the environment used by the deployment, or null if no environment is in context.
applicationId An integer representing the system-unique identifier of the application for the deployment.
applicationName A string representing the system-unique name of the application for the deployment.
releaseId An integer representing the system-unique identifier of the release for the deployment.
releaseNumber A string representing the application-unique number of the release for the deployment.
releaseName A string representing the name of the release for the deployment.
buildId An integer representing the system-unique identifier of the build for the deployment.
buildNumber A string representing the release-unique number of the build for the deployment.
{
    "id": 1,
    "plan": "Deploy",
    "status": "succeeded",
    "started": "2024-03-04T09:31:20.5100000Z",
    "ended": "2024-03-04T09:31:20.6100000Z",
    "createdBy": "SYSTEM",
    "createdOn": "2024-03-04T09:31:15.4900000Z",
    "pipelineName": "Release",
    "pipelineStageName": "Integration",
    "applicationId": 1,
    "applicationName": "TaxCalculator",
    "releaseId": 1,
    "releaseNumber": "1.0.1",
    "releaseName": "1.0.1",
    "buildId": 1,
    "buildNumber": "2",
    "packageId": 1,
    "packageNumber": "2"
}