Definitions - Create
Create a release definition
POST https://vsrm.dev.azure.com/{organization}/{project}/_apis/release/definitions?api-version=5.0
URI Parameters
Name | In | Required | Type | Description |
---|---|---|---|---|
organization
|
path | True |
string |
The name of the Azure DevOps organization. |
project
|
path | True |
string |
Project ID or project name |
api-version
|
query | True |
string |
Version of the API to use. This should be set to '5.0' to use this version of the api. |
Request Body
Name | Type | Description |
---|---|---|
_links |
Gets the links to related resources, APIs, and views for the release definition. |
|
artifacts |
Artifact[] |
Gets or sets the list of artifacts. |
comment |
string |
Gets or sets comment. |
createdBy |
Gets or sets the identity who created. |
|
createdOn |
string |
Gets date on which it got created. |
description |
string |
Gets or sets the description. |
environments |
Gets or sets the list of environments. |
|
id |
integer |
Gets the unique identifier of release definition. |
isDeleted |
boolean |
Whether release definition is deleted. |
lastRelease |
Gets the reference of last release. |
|
modifiedBy |
Gets or sets the identity who modified. |
|
modifiedOn |
string |
Gets date on which it got modified. |
name |
string |
Gets or sets the name of the release definition. |
path |
string |
Gets or sets the path of the release definition. |
projectReference |
Gets or sets project reference. |
|
properties |
Gets or sets properties. |
|
releaseNameFormat |
string |
Gets or sets the release name format. |
revision |
integer |
Gets the revision number. |
source |
Gets or sets source of release definition. |
|
tags |
string[] |
Gets or sets list of tags. |
triggers |
Gets or sets the list of triggers. |
|
url |
string |
Gets the REST API url to access the release definition. |
variableGroups |
integer[] |
Gets or sets the list of variable groups. |
variables |
<string,
Configuration |
Gets or sets the dictionary of variables. |
Responses
Name | Type | Description |
---|---|---|
200 OK |
successful operation |
Security
oauth2
Type:
oauth2
Flow:
accessCode
Authorization URL:
https://app.vssps.visualstudio.com/oauth2/authorize&response_type=Assertion
Token URL:
https://app.vssps.visualstudio.com/oauth2/token?client_assertion_type=urn:ietf:params:oauth:client-assertion-type:jwt-bearer&grant_type=urn:ietf:params:oauth:grant-type:jwt-bearer
Scopes
Name | Description |
---|---|
vso.release_execute | Grants the ability to read and update release artifacts, including releases, release definitions and release envrionment, and the ability to queue a new release. |
Definitions
Name | Description |
---|---|
Approval |
|
Approval |
|
Artifact | |
Artifact |
|
Authorization |
|
Condition | |
Condition |
Gets or sets the condition type. |
Configuration |
|
Data |
Represents binding of data source for the service endpoint request. |
Demand | |
Deploy |
|
Deploy |
|
Environment |
Defines policy on environment queuing at Release Management side queue. We will send to Environment Runner [creating pre-deploy and other steps] only when the policies mentioned are satisfied. |
Environment |
|
Environment |
|
Environment |
|
Environment |
|
Identity |
|
Process |
|
Project |
|
Properties |
The class represents a property bag as a collection of key-value pairs. Values of all primitive types (any type with a |
Reference |
The class to represent a collection of REST reference links. |
Release |
|
Release |
|
Release |
|
Release |
|
Release |
|
Release |
|
Release |
|
Release |
|
Release |
|
Release |
Gets or sets source of release definition. |
Release |
Gets reason for release. |
Release |
|
Release |
|
Release |
|
Release |
|
Release |
|
Schedule |
Days of the week to release |
Task |
|
Task |
|
Task |
|
Workflow |
ApprovalExecutionOrder
Name | Type | Description |
---|---|---|
afterGatesAlways |
string |
|
afterSuccessfulGates |
string |
|
beforeGates |
string |
ApprovalOptions
Name | Type | Description |
---|---|---|
autoTriggeredAndPreviousEnvironmentApprovedCanBeSkipped |
boolean |
|
enforceIdentityRevalidation |
boolean |
|
executionOrder | ||
releaseCreatorCanBeApprover |
boolean |
|
requiredApproverCount |
integer |
|
timeoutInMinutes |
integer |
Artifact
Name | Type | Description |
---|---|---|
alias |
string |
Gets or sets alias. |
definitionReference |
<string,
Artifact |
Gets or sets definition reference. e.g. {"project":{"id":"fed755ea-49c5-4399-acea-fd5b5aa90a6c","name":"myProject"},"definition":{"id":"1","name":"mybuildDefinition"},"connection":{"id":"1","name":"myConnection"}} |
isPrimary |
boolean |
Gets or sets as artifact is primary or not. |
isRetained |
boolean |
|
type |
string |
Gets or sets type. It can have value as 'Build', 'Jenkins', 'GitHub', 'Nuget', 'Team Build (external)', 'ExternalTFSBuild', 'Git', 'TFVC', 'ExternalTfsXamlBuild'. |
ArtifactSourceReference
Name | Type | Description |
---|---|---|
id |
string |
|
name |
string |
AuthorizationHeader
Name | Type | Description |
---|---|---|
name |
string |
|
value |
string |
Condition
Name | Type | Description |
---|---|---|
conditionType |
Gets or sets the condition type. |
|
name |
string |
Gets or sets the name of the condition. e.g. 'ReleaseStarted'. |
value |
string |
Gets or set value of the condition. |
ConditionType
Gets or sets the condition type.
Name | Type | Description |
---|---|---|
artifact |
string |
The condition type is artifact. |
environmentState |
string |
The condition type is environment state. |
event |
string |
The condition type is event. |
undefined |
string |
The condition type is undefined. |
ConfigurationVariableValue
Name | Type | Description |
---|---|---|
allowOverride |
boolean |
Gets or sets if a variable can be overridden at deployment time or not. |
isSecret |
boolean |
Gets or sets as variable is secret or not. |
value |
string |
Gets or sets value of the configuration variable. |
DataSourceBindingBase
Represents binding of data source for the service endpoint request.
Name | Type | Description |
---|---|---|
callbackContextTemplate |
string |
Pagination format supported by this data source(ContinuationToken/SkipTop). |
callbackRequiredTemplate |
string |
Subsequent calls needed? |
dataSourceName |
string |
Gets or sets the name of the data source. |
endpointId |
string |
Gets or sets the endpoint Id. |
endpointUrl |
string |
Gets or sets the url of the service endpoint. |
headers |
Gets or sets the authorization headers. |
|
initialContextTemplate |
string |
Defines the initial value of the query params |
parameters |
object |
Gets or sets the parameters for the data source. |
resultSelector |
string |
Gets or sets the result selector. |
resultTemplate |
string |
Gets or sets the result template. |
target |
string |
Gets or sets the target of the data source. |
Demand
Name | Type | Description |
---|---|---|
name |
string |
|
value |
string |
DeployPhase
Name | Type | Description |
---|---|---|
name |
string |
|
phaseType | ||
rank |
integer |
|
refName |
string |
|
workflowTasks |
DeployPhaseTypes
Name | Type | Description |
---|---|---|
agentBasedDeployment |
string |
|
deploymentGates |
string |
Phase type which contains tasks which acts as Gates for the deployment to go forward. |
machineGroupBasedDeployment |
string |
|
runOnServer |
string |
|
undefined |
string |
EnvironmentExecutionPolicy
Defines policy on environment queuing at Release Management side queue. We will send to Environment Runner [creating pre-deploy and other steps] only when the policies mentioned are satisfied.
Name | Type | Description |
---|---|---|
concurrencyCount |
integer |
This policy decides, how many environments would be with Environment Runner. |
queueDepthCount |
integer |
Queue depth in the EnvironmentQueue table, this table keeps the environment entries till Environment Runner is free [as per it's policy] to take another environment for running. |
EnvironmentOptions
Name | Type | Description |
---|---|---|
autoLinkWorkItems |
boolean |
|
badgeEnabled |
boolean |
|
emailNotificationType |
string |
|
emailRecipients |
string |
|
enableAccessToken |
boolean |
|
publishDeploymentStatus |
boolean |
|
pullRequestDeploymentEnabled |
boolean |
|
skipArtifactsDownload |
boolean |
|
timeoutInMinutes |
integer |
EnvironmentRetentionPolicy
Name | Type | Description |
---|---|---|
daysToKeep |
integer |
|
releasesToKeep |
integer |
|
retainBuild |
boolean |
EnvironmentTrigger
Name | Type | Description |
---|---|---|
definitionEnvironmentId |
integer |
|
releaseDefinitionId |
integer |
|
triggerContent |
string |
|
triggerType |
EnvironmentTriggerType
Name | Type | Description |
---|---|---|
deploymentGroupRedeploy |
string |
|
rollbackRedeploy |
string |
|
undefined |
string |
IdentityRef
Name | Type | Description |
---|---|---|
_links |
This field contains zero or more interesting links about the graph subject. These links may be invoked to obtain additional relationships or more detailed information about this graph subject. |
|
descriptor |
string |
The descriptor is the primary way to reference the graph subject while the system is running. This field will uniquely identify the same graph subject across both Accounts and Organizations. |
directoryAlias |
string |
|
displayName |
string |
This is the non-unique display name of the graph subject. To change this field, you must alter its value in the source provider. |
id |
string |
|
imageUrl |
string |
|
inactive |
boolean |
|
isAadIdentity |
boolean |
|
isContainer |
boolean |
|
isDeletedInOrigin |
boolean |
|
profileUrl |
string |
|
uniqueName |
string |
|
url |
string |
This url is the full route to the source resource of this graph subject. |
ProcessParameters
Name | Type | Description |
---|---|---|
dataSourceBindings |
Represents binding of data source for the service endpoint request. |
|
inputs | ||
sourceDefinitions |
ProjectReference
Name | Type | Description |
---|---|---|
id |
string |
Gets the unique identifier of this field. |
name |
string |
Gets name of project. |
PropertiesCollection
The class represents a property bag as a collection of key-value pairs. Values of all primitive types (any type with a TypeCode != TypeCode.Object
) except for DBNull
are accepted. Values of type Byte[], Int32, Double, DateType and String preserve their type, other primitives are retuned as a String. Byte[] expected as base64 encoded string.
Name | Type | Description |
---|---|---|
count |
integer |
The count of properties in the collection. |
item |
object |
|
keys |
string[] |
The set of keys in the collection. |
values |
string[] |
The set of values in the collection. |
ReferenceLinks
The class to represent a collection of REST reference links.
Name | Type | Description |
---|---|---|
links |
object |
The readonly view of the links. Because Reference links are readonly, we only want to expose them as read only. |
ReleaseDefinition
Name | Type | Description |
---|---|---|
_links |
Gets the links to related resources, APIs, and views for the release definition. |
|
artifacts |
Artifact[] |
Gets or sets the list of artifacts. |
comment |
string |
Gets or sets comment. |
createdBy |
Gets or sets the identity who created. |
|
createdOn |
string |
Gets date on which it got created. |
description |
string |
Gets or sets the description. |
environments |
Gets or sets the list of environments. |
|
id |
integer |
Gets the unique identifier of release definition. |
isDeleted |
boolean |
Whether release definition is deleted. |
lastRelease |
Gets the reference of last release. |
|
modifiedBy |
Gets or sets the identity who modified. |
|
modifiedOn |
string |
Gets date on which it got modified. |
name |
string |
Gets or sets the name of the release definition. |
path |
string |
Gets or sets the path of the release definition. |
projectReference |
Gets or sets project reference. |
|
properties |
Gets or sets properties. |
|
releaseNameFormat |
string |
Gets or sets the release name format. |
revision |
integer |
Gets the revision number. |
source |
Gets or sets source of release definition. |
|
tags |
string[] |
Gets or sets list of tags. |
triggers |
Gets or sets the list of triggers. |
|
url |
string |
Gets the REST API url to access the release definition. |
variableGroups |
integer[] |
Gets or sets the list of variable groups. |
variables |
<string,
Configuration |
Gets or sets the dictionary of variables. |
ReleaseDefinitionApprovals
Name | Type | Description |
---|---|---|
approvalOptions | ||
approvals |
ReleaseDefinitionApprovalStep
Name | Type | Description |
---|---|---|
approver | ||
id |
integer |
|
isAutomated |
boolean |
|
isNotificationOn |
boolean |
|
rank |
integer |
ReleaseDefinitionDeployStep
Name | Type | Description |
---|---|---|
id |
integer |
|
tasks |
The list of steps for this definition. |
ReleaseDefinitionEnvironment
Name | Type | Description |
---|---|---|
badgeUrl |
string |
|
conditions | ||
currentRelease | ||
demands |
Demand[] |
|
deployPhases | ||
deployStep | ||
environmentOptions | ||
environmentTriggers | ||
executionPolicy |
Defines policy on environment queuing at Release Management side queue. We will send to Environment Runner [creating pre-deploy and other steps] only when the policies mentioned are satisfied. |
|
id |
integer |
|
name |
string |
|
owner | ||
postDeployApprovals | ||
postDeploymentGates | ||
preDeployApprovals | ||
preDeploymentGates | ||
processParameters | ||
properties |
The class represents a property bag as a collection of key-value pairs. Values of all primitive types (any type with a |
|
queueId |
integer |
|
rank |
integer |
|
retentionPolicy | ||
schedules | ||
variableGroups |
integer[] |
|
variables |
<string,
Configuration |
ReleaseDefinitionGate
Name | Type | Description |
---|---|---|
tasks |
ReleaseDefinitionGatesOptions
Name | Type | Description |
---|---|---|
isEnabled |
boolean |
|
minimumSuccessDuration |
integer |
|
samplingInterval |
integer |
|
stabilizationTime |
integer |
|
timeout |
integer |
ReleaseDefinitionGatesStep
Name | Type | Description |
---|---|---|
gates | ||
gatesOptions | ||
id |
integer |
ReleaseDefinitionShallowReference
Name | Type | Description |
---|---|---|
_links |
Gets the links to related resources, APIs, and views for the release definition. |
|
id |
integer |
Gets the unique identifier of release definition. |
name |
string |
Gets or sets the name of the release definition. |
path |
string |
Gets or sets the path of the release definition. |
projectReference |
Gets or sets project reference. |
|
url |
string |
Gets the REST API url to access the release definition. |
ReleaseDefinitionSource
Gets or sets source of release definition.
Name | Type | Description |
---|---|---|
ibiza |
string |
|
portalExtensionApi |
string |
|
restApi |
string |
|
undefined |
string |
|
userInterface |
string |
ReleaseReason
Gets reason for release.
Name | Type | Description |
---|---|---|
continuousIntegration |
string |
|
manual |
string |
|
none |
string |
|
pullRequest |
string |
|
schedule |
string |
ReleaseReference
Name | Type | Description |
---|---|---|
_links |
Gets links to access the release. |
|
artifacts |
Artifact[] |
Gets list of artifacts. |
createdBy |
Gets the identity who created. |
|
createdOn |
string |
Gets date on which it got created. |
description |
string |
Gets description. |
id |
integer |
Gets the unique identifier of this field. |
modifiedBy |
Gets the identity who modified. |
|
name |
string |
Gets name of release. |
reason |
Gets reason for release. |
|
releaseDefinition |
Gets release definition shallow reference. |
ReleaseSchedule
Name | Type | Description |
---|---|---|
daysToRelease |
Days of the week to release |
|
jobId |
string |
Team Foundation Job Definition Job Id |
startHours |
integer |
Local time zone hour to start |
startMinutes |
integer |
Local time zone minute to start |
timeZoneId |
string |
Time zone Id of release schedule, such as 'UTC' |
ReleaseShallowReference
Name | Type | Description |
---|---|---|
_links |
Gets the links to related resources, APIs, and views for the release. |
|
id |
integer |
Gets the unique identifier of release. |
name |
string |
Gets or sets the name of the release. |
url |
string |
Gets the REST API url to access the release. |
ReleaseTriggerBase
Name | Type | Description |
---|---|---|
triggerType |
ReleaseTriggerType
Name | Type | Description |
---|---|---|
artifactSource |
string |
|
containerImage |
string |
|
package |
string |
|
pullRequest |
string |
|
schedule |
string |
|
sourceRepo |
string |
|
undefined |
string |
ScheduleDays
Days of the week to release
Name | Type | Description |
---|---|---|
all |
string |
|
friday |
string |
|
monday |
string |
|
none |
string |
|
saturday |
string |
|
sunday |
string |
|
thursday |
string |
|
tuesday |
string |
|
wednesday |
string |
TaskInputDefinitionBase
Name | Type | Description |
---|---|---|
aliases |
string[] |
|
defaultValue |
string |
|
groupName |
string |
|
helpMarkDown |
string |
|
label |
string |
|
name |
string |
|
options |
object |
|
properties |
object |
|
required |
boolean |
|
type |
string |
|
validation | ||
visibleRule |
string |
TaskInputValidation
Name | Type | Description |
---|---|---|
expression |
string |
Conditional expression |
message |
string |
Message explaining how user can correct if validation fails |
TaskSourceDefinitionBase
Name | Type | Description |
---|---|---|
authKey |
string |
|
endpoint |
string |
|
keySelector |
string |
|
selector |
string |
|
target |
string |
WorkflowTask
Name | Type | Description |
---|---|---|
alwaysRun |
boolean |
|
condition |
string |
|
continueOnError |
boolean |
|
definitionType |
string |
|
enabled |
boolean |
|
environment |
object |
|
inputs |
object |
|
name |
string |
|
overrideInputs |
object |
|
refName |
string |
|
taskId |
string |
|
timeoutInMinutes |
integer |
|
version |
string |