Release API Contracts
Article
06/01/2017
2 contributors
In this article
TFS 2017 | TFS 2015 | TFS 2013
AgentArtifactDefinition
Field
Type
alias
string
artifactType
AgentArtifactType
details
string
name
string
version
string
AgentArtifactType
Enum Value
Notes
xamlBuild
build
jenkins
fileShare
nuget
tfsOnPrem
gitHub
tFGit
externalTfsBuild
custom
tfvc
AgentBasedDeployPhase
Extends: DeployPhase
Extends: DeploymentInput
ApprovalOptions
Field
Type
autoTriggeredAndPreviousEnvironmentApprovedCanBeSkipped
boolean
enforceIdentityRevalidation
boolean
releaseCreatorCanBeApprover
boolean
requiredApproverCount
int32
timeoutInMinutes
int32
ApprovalStatus
Enum Value
Notes
undefined
pending
approved
rejected
reassigned
canceled
skipped
ApprovalType
Enum Value
Notes
undefined
preDeploy
postDeploy
all
Artifact
Field
Type
alias
string
definitionReference
dictionary (string, ArtifactSourceReference )
isPrimary
boolean
sourceId
string
type
string
ArtifactContributionDefinition
Field
Type
artifactType
string
artifactTypeStreamMapping
dictionary (string, string)
browsableArtifactTypeMapping
dictionary (string, string)
dataSourceBindings
array (DataSourceBinding )
displayName
string
downloadTaskId
string
endpointTypeId
string
inputDescriptors
array (InputDescriptor )
name
string
uniqueSourceIdentifier
string
ArtifactFilter
Field
Type
sourceBranch
string
tags
array (string)
ArtifactInstanceData
Field
Type
accountName
string
authenticationToken
string
tfsUrl
string
version
string
ArtifactProvider
Field
Type
id
int32
name
string
sourceUri
string
version
string
ArtifactSourceId
Field
Type
artifactTypeId
string
sourceIdInputs
array (SourceIdInput )
ArtifactSourceIdsQueryResult
ArtifactSourceReference
Field
Type
id
string
name
string
ArtifactSourceTrigger
Extends: ReleaseTriggerBase
Field
Type
Notes
artifactAlias
string
Artifact source alias for Artifact Source trigger type
triggerConditions
array (ArtifactFilter )
ArtifactTypeDefinition
Field
Type
displayName
string
inputDescriptors
array (InputDescriptor )
name
string
uniqueSourceIdentifier
string
ArtifactVersion
ArtifactVersionQueryResult
AuditAction
Enum Value
Notes
add
update
delete
Enum Value
Notes
revalidateApproverIdentity
onBehalfOf
AutoTriggerIssue
AzureKeyVaultVariableGroupProviderData
Extends: VariableGroupProviderData
Field
Type
lastRefreshedOn
date-time
serviceEndpointId
GUID
vault
string
AzureKeyVaultVariableValue
Extends: VariableValue
Field
Type
contentType
string
enabled
boolean
expires
date-time
Field
Type
overrideInputs
dictionary (string, string)
shareOutputVariables
boolean
BuildVersion
Field
Type
id
string
name
string
sourceBranch
string
sourceRepositoryId
string
sourceRepositoryType
string
sourceVersion
string
Change
Represents a change associated with a build.
Field
Type
Notes
author
IdentityRef
The author of the change.
changeType
string
The type of change. "commit", "changeset", etc.
displayUri
string
The location of a user-friendly representation of the resource.
id
string
Something that identifies the change. For a commit, this would be the SHA1. For a TFVC changeset, this would be the changeset id.
location
string
The location of the full representation of the resource.
message
string
A description of the change. This might be a commit message or changeset description.
timestamp
date-time
A timestamp for the change.
Condition
ConditionType
Enum Value
Notes
undefined
event
environmentState
artifact
ConfigurationVariableValue
Field
Type
isSecret
boolean
value
string
Consumer
Field
Type
consumerId
int32
consumerName
string
ContinuousDeploymentAppServicePlanConfiguration
Field
Type
appServicePlan
string
appServicePlanName
string
appServicePricingTier
string
ContinuousDeploymentSetupData
ContinuousDeploymentSlotConfiguration
Field
Type
slotName
string
webAppLocation
string
ContinuousDeploymentSourceConfiguration
ContinuousDeploymentTestWebAppConfiguration
ContinuousDeploymentTriggerIssue
Extends: AutoTriggerIssue
Field
Type
artifactType
string
artifactVersionId
string
sourceId
string
ContinuousDeploymentWebAppProjectType
Enum Value
Notes
aspNetWap
aspNetCore
nodeJSWithGulp
nodeJSWithGrunt
ControlOptions
Field
Type
alwaysRun
boolean
continueOnError
boolean
enabled
boolean
DataSourceBinding
Field
Type
dataSourceName
string
endpointId
string
endpointUrl
string
parameters
dictionary (string, string)
resultSelector
string
resultTemplate
string
target
string
DataSourceBindingBase
Field
Type
dataSourceName
string
endpointId
string
endpointUrl
string
parameters
dictionary (string, string)
resultSelector
string
resultTemplate
string
target
string
DefinitionEnvironmentReference
Field
Type
definitionEnvironmentId
int32
definitionEnvironmentName
string
releaseDefinitionId
int32
releaseDefinitionName
string
Demand
Field
Type
name
string
value
string
Deployment
DeploymentApprovalCompletedEvent
DeploymentApprovalPendingEvent
DeploymentAttempt
DeploymentAuthorizationInfo
Field
Type
authorizationHeaderFor
AuthorizationHeaderFor
resources
array (string)
tenantId
string
vstsAccessTokenKey
string
DeploymentAuthorizationOwner
Enum Value
Notes
automatic
deploymentSubmitter
firstPreDeploymentApprover
DeploymentCompletedEvent
DeploymentExpands
Enum Value
Notes
all
deploymentOnly
approvals
artifacts
Extends: BaseDeploymentInput
Field
Type
demands
array (Demand )
enableAccessToken
boolean
queueId
int32
skipArtifactsDownload
boolean
timeoutInMinutes
int32
DeploymentJob
DeploymentManualInterventionPendingEvent
DeploymentOperationStatus
Enum Value
Notes
undefined
queued
scheduled
pending
approved
rejected
deferred
queuedForAgent
phaseInProgress
phaseSucceeded
phasePartiallySucceeded
phaseFailed
canceled
phaseCanceled
manualInterventionPending
queuedForPipeline
all
DeploymentQueryParameters
DeploymentReason
Enum Value
Notes
none
manual
automated
scheduled
DeploymentStartedEvent
DeploymentStatus
Enum Value
Notes
undefined
notDeployed
inProgress
succeeded
partiallySucceeded
failed
all
DeployPhase
DeployPhaseStatus
Enum Value
Notes
undefined
notStarted
inProgress
partiallySucceeded
succeeded
failed
canceled
skipped
DeployPhaseTypes
Enum Value
Notes
undefined
agentBasedDeployment
runOnServer
machineGroupBasedDeployment
EmailRecipients
Field
Type
emailAddresses
array (string)
tfsIds
array (GUID)
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.
Field
Type
Notes
concurrencyCount
int32
This policy decides, how many environments would be with Environment Runner.
queueDepthCount
int32
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
Field
Type
emailNotificationType
string
emailRecipients
string
enableAccessToken
boolean
publishDeploymentStatus
boolean
skipArtifactsDownload
boolean
timeoutInMinutes
int32
EnvironmentRetentionPolicy
Field
Type
daysToKeep
int32
releasesToKeep
int32
retainBuild
boolean
EnvironmentStatus
Enum Value
Notes
undefined
notStarted
inProgress
succeeded
canceled
rejected
queued
scheduled
partiallySucceeded
FavoriteItem
Class to represent favorite entry
Field
Type
Notes
data
string
Application specific data for the entry
id
GUID
Unique Id of the entry
name
string
Display text for favorite entry
type
string
Application specific favorite entry type. Empty or Null represents that Favorite item is a Folder
Folder
FolderPathQueryOrder
Enum Value
Notes
none
No order
ascending
Order by folder name and path ascending.
descending
Order by folder name and path descending.
IdentityRef
Field
Type
directoryAlias
string
displayName
string
id
string
imageUrl
string
inactive
boolean
isAadIdentity
boolean
isContainer
boolean
profileUrl
string
uniqueName
string
url
string
Enumerates data types that are supported as subscription input values.
Enum Value
Notes
none
No data type is specified.
string
Represents a textual value.
number
Represents a numeric value.
boolean
Represents a value of true or false.
guid
Represents a Guid.
uri
Represents a URI.
Describes an input for subscriptions.
Field
Type
Notes
dependencyInputIds
array (string)
The ids of all inputs that the value of this input is dependent on.
description
string
Description of what this input is used for
groupName
string
The group localized name to which this input belongs and can be shown as a header for the container that will include all the inputs in the group.
hasDynamicValueInformation
boolean
If true, the value information for this input is dynamic and should be fetched when the value of dependency inputs change.
id
string
Identifier for the subscription input
inputMode
InputMode
Mode in which the value of this input should be entered
isConfidential
boolean
Gets whether this input is confidential, such as for a password or application key
name
string
Localized name which can be shown as a label for the subscription input
properties
dictionary (string, object)
Custom properties for the input which can be used by the service provider
type
string
Underlying data type for the input value. When this value is specified, InputMode, Validation and Values are optional.
useInDefaultDescription
boolean
Gets whether this input is included in the default generated action description.
validation
InputValidation
Information to use to validate this input's value
valueHint
string
A hint for input value. It can be used in the UI as the input placeholder.
values
InputValues
Information about possible values for this input
Mode in which a subscription input should be entered (in a UI)
Enum Value
Notes
none
This input should not be shown in the UI
textBox
An input text box should be shown
passwordBox
An password input box should be shown
combo
A select/combo control should be shown
radioButtons
Radio buttons should be shown
checkBox
Checkbox should be shown(for true/false values)
textArea
A multi-line text area should be shown
Describes what values are valid for a subscription input
Field
Type
dataType
InputDataType
isRequired
boolean
maxLength
int32
maxValue
decimal
minLength
int32
minValue
decimal
pattern
string
patternMismatchErrorMessage
string
Information about a single value for an input
Field
Type
Notes
data
dictionary (string, object)
Any other data about this input
displayValue
string
The text to show for the display of this value
value
string
The value to store for this input
Information about the possible/allowed values for a given subscription input
Field
Type
Notes
defaultValue
string
The default value to use for this input
error
InputValuesError
Errors encountered while computing dynamic values.
inputId
string
The id of the input
isDisabled
boolean
Should this input be disabled
isLimitedToPossibleValues
boolean
Should the value be restricted to one of the values in the PossibleValues (True) or are the values in PossibleValues just a suggestion (False)
isReadOnly
boolean
Should this input be made read-only
possibleValues
array (InputValue )
Possible values that this input can take
Error information related to a subscription input value.
Field
Type
Notes
message
string
The error message.
Field
Type
Notes
currentValues
dictionary (string, string)
inputValues
array (InputValues )
The input values to return on input, and the result from the consumer on output.
resource
object
Subscription containing information about the publisher/consumer and the current input values
Issue
Field
Type
issueType
string
message
string
IssueSource
Enum Value
Notes
none
user
system
MachineGroupBasedDeployPhase
Extends: DeployPhase
Extends: DeploymentInput
Field
Type
deploymentHealthOption
string
healthPercent
int32
tags
array (string)
MailMessage
MailSectionType
Enum Value
Notes
details
environments
issues
testResults
workItems
releaseInfo
ManualIntervention
ManualInterventionStatus
Enum Value
Notes
unknown
pending
rejected
approved
canceled
MappingDetails
Field
Type
mappings
dictionary (string, InputValue )
Metric
Field
Type
name
string
value
int32
Extends: ParallelExecutionInputBase
Field
Type
multipliers
string
Extends: ParallelExecutionInputBase
Extends: ExecutionInput
Field
Type
continueOnError
boolean
maxNumberOfAgents
int32
ParallelExecutionTypes
Enum Value
Notes
none
multiConfiguration
multiMachine
ProcessParameters
ProjectReference
Field
Type
id
GUID
name
string
PropertiesCollection
Field
Type
Notes
count
int32
Implements ICollection<KeyValuePair<String,Object>>.Count/>
item
object
keys
array (string)
values
array (string)
PropertySelector
PropertySelectorType
Enum Value
Notes
inclusion
exclusion
QueuedReleaseData
Field
Type
projectId
GUID
queuePosition
int32
releaseId
int32
RealtimeReleaseEvent
Field
Type
projectId
GUID
releaseId
int32
ReferenceLinks
The class to represent a collection of REST reference links. Example: { self: { href: "https://localhost:8080/tfs/DefaultCollection/_apis/wit/workItems/1" } }
Field
Type
Notes
links
dictionary (string, object)
The readonly view of the links. Because Reference links are readonly, we only want to expose them as read only.
Release
ReleaseAbandonedEvent
ReleaseApproval
Field
Type
Notes
approvalType
ApprovalType
Gets or sets the type of approval.
approvedBy
IdentityRef
Gets the identity who approved.
approver
IdentityRef
Gets or sets the identity who should approve.
attempt
int32
Gets attempt which specifies as which deployment attempt it belongs.
comments
string
Gets or sets comments for approval.
createdOn
date-time
Gets date on which it got created.
history
array (ReleaseApprovalHistory )
Gets history which specifies all approvals associated with this approval.
id
int32
Gets the unique identifier of this field.
isAutomated
boolean
Gets or sets as approval is automated or not.
modifiedOn
date-time
Gets date on which it got modified.
rank
int32
Gets or sets rank which specifies the order of the approval. e.g. Same rank denotes parallel approval.
release
ReleaseShallowReference
Gets releaseReference which specifies the reference of the release to which this approval is associated.
releaseDefinition
ReleaseDefinitionShallowReference
Gets releaseDefinitionReference which specifies the reference of the release definition to which this approval is associated.
releaseEnvironment
ReleaseEnvironmentShallowReference
Gets releaseEnvironmentReference which specifies the reference of the release environment to which this approval is associated.
revision
int32
Gets the revision number.
status
ApprovalStatus
Gets or sets the status of the approval.
trialNumber
int32
url
string
Gets url to access the approval.
ReleaseApprovalHistory
ReleaseApprovalPendingEvent
ReleaseArtifact
Field
Type
artifactProvider
ArtifactProvider
artifactType
string
definitionData
string
definitionId
int32
description
string
id
int32
name
string
releaseId
int32
ReleaseCondition
Extends: Condition
Field
Type
result
boolean
ReleaseCreatedEvent
ReleaseDefinition
ReleaseDefinitionApprovals
ReleaseDefinitionApprovalStep
Extends: ReleaseDefinitionEnvironmentStep
Field
Type
approver
IdentityRef
isAutomated
boolean
isNotificationOn
boolean
rank
int32
ReleaseDefinitionDeployStep
Extends: ReleaseDefinitionEnvironmentStep
Field
Type
Notes
tasks
array (WorkflowTask )
The list of steps for this definition.
ReleaseDefinitionEnvironment
ReleaseDefinitionEnvironmentStep
ReleaseDefinitionEnvironmentSummary
ReleaseDefinitionEnvironmentTemplate
Field
Type
canDelete
boolean
category
string
description
string
environment
ReleaseDefinitionEnvironment
iconTaskId
GUID
iconUri
string
id
GUID
name
string
ReleaseDefinitionExpands
Enum Value
Notes
none
environments
artifacts
triggers
variables
tags
ReleaseDefinitionQueryOrder
Enum Value
Notes
idAscending
idDescending
nameAscending
nameDescending
ReleaseDefinitionRevision
ReleaseDefinitionShallowReference
Field
Type
Notes
_links
ReferenceLinks
Gets or set the links to related resources, APIs, and views for the release definition.
id
int32
Gets the unique identifier of release definition.
name
string
Gets the name of the release definition.
url
string
Gets the REST API url to access the release definition.
ReleaseDefinitionSource
Enum Value
Notes
undefined
restApi
userInterface
ibiza
portalExtensionApi
ReleaseDefinitionSummary
ReleaseDeployPhase
ReleaseEnvironment
ReleaseEnvironmentCompletedEvent
Field
Type
createdByName
string
definitionId
int32
definitionName
string
environment
ReleaseEnvironment
environmentId
int32
projectName
string
reason
DeploymentReason
releaseCreatedBy
IdentityRef
releaseLogsUri
string
releaseName
string
status
string
title
string
webAccessUri
string
ReleaseEnvironmentShallowReference
Field
Type
Notes
_links
ReferenceLinks
Gets the links to related resources, APIs, and views for the release environment.
id
int32
Gets the unique identifier of release environment.
name
string
Gets the name of the release environment.
url
string
Gets the REST API url to access the release environment.
ReleaseExpands
Enum Value
Notes
none
environments
artifacts
approvals
manualInterventions
variables
tags
ReleaseQueryOrder
Enum Value
Notes
descending
ascending
ReleaseReason
Enum Value
Notes
none
manual
continuousIntegration
schedule
individualCI
batchedCI
ReleaseReference
ReleaseRevision
Field
Type
changedBy
IdentityRef
changedDate
date-time
changeDetails
string
changeType
string
comment
string
definitionSnapshotRevision
int32
releaseId
int32
ReleaseSchedule
Field
Type
Notes
daysToRelease
ScheduleDays
Days of the week to release
jobId
GUID
Team Foundation Job Definition Job Id
startHours
int32
Local time zone hour to start
startMinutes
int32
Local time zone minute to start
timeZoneId
string
Time zone Id of release schedule, such as 'UTC'
ReleaseSettings
ReleaseShallowReference
Field
Type
Notes
_links
ReferenceLinks
Gets the links to related resources, APIs, and views for the release.
id
int32
Gets the unique identifier of release.
name
string
Gets the name of the release.
url
string
Gets the REST API url to access the release.
ReleaseStatus
Enum Value
Notes
undefined
draft
active
abandoned
ReleaseTask
ReleaseTaskLogUpdatedEvent
Extends: RealtimeReleaseEvent
Field
Type
environmentId
int32
lines
array (string)
timelineRecordId
GUID
ReleaseTasksUpdatedEvent
Extends: RealtimeReleaseEvent
Field
Type
environmentId
int32
job
ReleaseTask
releaseDeployPhaseId
int32
releaseStepId
int32
tasks
array (ReleaseTask )
ReleaseTriggerBase
ReleaseTriggerType
Enum Value
Notes
undefined
artifactSource
schedule
sourceRepo
ReleaseUpdatedEvent
Extends: RealtimeReleaseEvent
Field
Type
comment
string
keepForever
boolean
manualEnvironments
array (string)
status
ReleaseStatus
ReleaseWorkItemRef
Field
Type
id
string
url
string
RetentionPolicy
Field
Type
daysToKeep
int32
RetentionSettings
RunOnServerDeployPhase
Extends: DeployPhase
ScheduleDays
Enum Value
Notes
none
monday
tuesday
wednesday
thursday
friday
saturday
sunday
all
ScheduledReleaseTrigger
Extends: ReleaseTriggerBase
Field
Type
Notes
schedule
ReleaseSchedule
Release schedule for Scheduled Release trigger type
SenderType
Enum Value
Notes
serviceAccount
requestingUser
Field
Type
id
string
name
string
SourceRepository
SourceRepositoryType
Enum Value
Notes
invalid
vstsGit
gitHub
SourceRepoTrigger
Extends: ReleaseTriggerBase
Field
Type
alias
string
branchFilters
array (string)
SummaryMailSection
Field
Type
htmlContent
string
rank
int32
sectionType
MailSectionType
title
string
Field
Type
defaultValue
string
groupName
string
helpMarkDown
string
label
string
name
string
options
dictionary (string, string)
properties
dictionary (string, string)
required
boolean
type
string
visibleRule
string
TaskOrchestrationPlanGroupReference
Field
Type
planGroup
string
projectId
GUID
TaskOrchestrationPlanGroupsStartedEvent
TaskSourceDefinitionBase
Field
Type
authKey
string
endpoint
string
keySelector
string
selector
string
target
string
TaskStatus
Enum Value
Notes
unknown
pending
inProgress
success
failure
canceled
skipped
succeeded
failed
partiallySucceeded
TimeZone
Field
Type
displayName
string
id
string
TimeZoneList
VariableGroup
VariableGroupActionFilter
Enum Value
Notes
none
manage
use
VariableGroupProviderData
VariableValue
Field
Type
isSecret
boolean
value
string
VssJsonCollectionWrapper<T>
This class is used to serialized collections as a single JSON object on the wire, to avoid serializing JSON arrays directly to the client, which can be a security hole
Extends: VssJsonCollectionWrapperBase
VssJsonCollectionWrapperBase
WorkflowTask
Field
Type
alwaysRun
boolean
continueOnError
boolean
definitionType
string
enabled
boolean
inputs
dictionary (string, string)
name
string
overrideInputs
dictionary (string, string)
taskId
GUID
timeoutInMinutes
int32
version
string
WorkflowTaskReference
Field
Type
id
GUID
name
string
version
string