Home / Resources / API Reference

Release - Create

This API endpoint creates a new release of a specific project. Release is an entity that represents state of the project (including a snapshot of all variable values and step logic). This endpoint does not trigger a deployment. Response includes releaseId which can be used to execute a deployment.

Request

Parameters
version
string
required
Unique version number of the new release.
projectId
string
required
Identifier of an existing project.
channelName
string
optional
Name of the channel, if project channels have been specified and the release should be controlled by one of the project channels.

When this value is not specified there are 2 possible behaviors:

- if the project has a channel tagged as Default - this channel will be used, but only when request field ignoreDefaultChannel is not specified, or set to false. When this field is set to true then the default channel will not be selected for this release (even if such channel exists in the project).

- if the project has no channels or ignoreDefaultChannel=true then release will be created without a channel, which means it can be deployed freely to any environment in this workspace
ignoreDefaultChannel
boolean
optional
Set to true to create a release without a channel, even if the project has a channel tagged as Default.
notes
string
optional
Release notes.
packageVersions
object
optional
Define package versions to be deployed with this release. Key is package ID and value is package version. Package IDs should exist in this project and versions should follow rules of Semantic Versioning 2.0.0 | Semantic Versioning (semver.org). Every package that belongs to the project and not specified in this property will fall back to its most recent (according to SemVer 2.0 rules) version. The most recent version is calculated at the time of creating the release (i.e. at the time of execution of this HTTP request), and not at deployment time. When a package ID incuded in this field does not exist in this project, or the version has invalid format (non-SemVer 2.0), or the version cannot be found - the request will fail with HTTP 400 status.
Request body

POST /release
{
  "version": "1.2.7023-RC1",
  "projectId": "a39dc3b5-39b2-478d-a179-51660813a5ff",
  "channelName": "NameOfTheChannel",
  "ignoreDefaultChannel": true,
  "notes": "Release notes",
  "packageVersions":
  {
    "package-01": "2.5.66-alpha",
    "package-02": "0.0.999"
  }
}

Response

Parameters
releaseId
string
Unique identifier of created release. Use this ID to further interact with the release - deploy or promote.
Response body

{
  "releaseId": "b34732f4-bcad-4b7f-a26b-a771cc7457ff"
}