vso-node-api
Version:
Node client for Visual Studio Online/TFS REST APIs
2,014 lines • 62.3 kB
TypeScript
import DistributedTaskCommonInterfaces = require("../interfaces/DistributedTaskCommonInterfaces");
import FormInputInterfaces = require("../interfaces/common/FormInputInterfaces");
import VSSInterfaces = require("../interfaces/common/VSSInterfaces");
export interface AgentArtifactDefinition {
alias: string;
artifactType: AgentArtifactType;
details: string;
name: string;
version: string;
}
export declare enum AgentArtifactType {
XamlBuild = 0,
Build = 1,
Jenkins = 2,
FileShare = 3,
Nuget = 4,
TfsOnPrem = 5,
GitHub = 6,
TFGit = 7,
ExternalTfsBuild = 8,
Custom = 9,
Tfvc = 10,
}
export interface AgentBasedDeployPhase extends DeployPhase {
deploymentInput: AgentDeploymentInput;
}
export interface AgentDeploymentInput extends DeploymentInput {
imageId: number;
parallelExecution: ExecutionInput;
}
export declare enum ApprovalExecutionOrder {
BeforeGates = 1,
AfterSuccessfulGates = 2,
AfterGatesAlways = 4,
}
export declare enum ApprovalFilters {
/**
* No approvals or approval snapshots
*/
None = 0,
/**
* Manual approval steps but no approval snapshots (Use with ApprovalSnapshots for snapshots)
*/
ManualApprovals = 1,
/**
* Automated approval steps but no approval snapshots (Use with ApprovalSnapshots for snapshots)
*/
AutomatedApprovals = 2,
/**
* No approval steps, but approval snapshots (Use with either ManualApprovals or AutomatedApprovals for approval steps)
*/
ApprovalSnapshots = 4,
/**
* All approval steps and approval snapshots
*/
All = 7,
}
export interface ApprovalOptions {
autoTriggeredAndPreviousEnvironmentApprovedCanBeSkipped: boolean;
enforceIdentityRevalidation: boolean;
executionOrder: ApprovalExecutionOrder;
releaseCreatorCanBeApprover: boolean;
requiredApproverCount: number;
timeoutInMinutes: number;
}
export declare enum ApprovalStatus {
Undefined = 0,
Pending = 1,
Approved = 2,
Rejected = 4,
Reassigned = 6,
Canceled = 7,
Skipped = 8,
}
export declare enum ApprovalType {
Undefined = 0,
PreDeploy = 1,
PostDeploy = 2,
All = 3,
}
export interface Artifact {
/**
* Gets or sets alias.
*/
alias: string;
/**
* 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"}}
*/
definitionReference: {
[key: string]: ArtifactSourceReference;
};
/**
* Gets or sets as artifact is primary or not.
*/
isPrimary: boolean;
sourceId: string;
/**
* Gets or sets type. It can have value as 'Build', 'Jenkins', 'GitHub', 'Nuget', 'Team Build (external)', 'ExternalTFSBuild', 'Git', 'TFVC', 'ExternalTfsXamlBuild'.
*/
type: string;
}
export interface ArtifactContributionDefinition {
artifactType: string;
artifactTypeStreamMapping: {
[key: string]: string;
};
browsableArtifactTypeMapping: {
[key: string]: string;
};
dataSourceBindings: DataSourceBinding[];
displayName: string;
downloadTaskId: string;
endpointTypeId: string;
inputDescriptors: FormInputInterfaces.InputDescriptor[];
name: string;
uniqueSourceIdentifier: string;
}
export interface ArtifactDownloadInputBase {
alias: string;
artifactDownloadMode: string;
artifactType: string;
}
export interface ArtifactFilter {
sourceBranch: string;
tags: string[];
useBuildDefinitionBranch: boolean;
}
export interface ArtifactInstanceData {
accountName: string;
authenticationToken: string;
tfsUrl: string;
version: string;
}
export interface ArtifactMetadata {
/**
* Sets alias of artifact.
*/
alias: string;
/**
* Sets instance reference of artifact. e.g. for build artifact it is build number.
*/
instanceReference: BuildVersion;
}
export interface ArtifactProvider {
id: number;
name: string;
sourceUri: string;
version: string;
}
export interface ArtifactsDownloadInput {
downloadInputs: ArtifactDownloadInputBase[];
}
export interface ArtifactSourceId {
artifactTypeId: string;
sourceIdInputs: SourceIdInput[];
}
export interface ArtifactSourceIdsQueryResult {
artifactSourceIds: ArtifactSourceId[];
}
export interface ArtifactSourceReference {
id: string;
name: string;
}
export interface ArtifactSourceTrigger extends ReleaseTriggerBase {
/**
* Artifact source alias for Artifact Source trigger type
*/
artifactAlias: string;
triggerConditions: ArtifactFilter[];
}
export interface ArtifactTypeDefinition {
displayName: string;
inputDescriptors: FormInputInterfaces.InputDescriptor[];
name: string;
uniqueSourceIdentifier: string;
}
export interface ArtifactVersion {
alias: string;
defaultVersion: BuildVersion;
errorMessage: string;
sourceId: string;
versions: BuildVersion[];
}
export interface ArtifactVersionQueryResult {
artifactVersions: ArtifactVersion[];
}
export declare enum AuditAction {
Add = 1,
Update = 2,
Delete = 3,
Undelete = 4,
}
export declare enum AuthorizationHeaderFor {
RevalidateApproverIdentity = 0,
OnBehalfOf = 1,
}
export interface AutoTriggerIssue {
issue: Issue;
issueSource: IssueSource;
project: ProjectReference;
releaseDefinitionReference: ReleaseDefinitionShallowReference;
releaseTriggerType: ReleaseTriggerType;
}
export interface AzureKeyVaultVariableGroupProviderData extends VariableGroupProviderData {
lastRefreshedOn: Date;
serviceEndpointId: string;
vault: string;
}
export interface AzureKeyVaultVariableValue extends VariableValue {
contentType: string;
enabled: boolean;
expires: Date;
}
export interface BaseDeploymentInput {
condition: string;
/**
* Gets or sets the job cancel timeout in minutes for deployment which are cancelled by user for this release environment
*/
jobCancelTimeoutInMinutes: number;
overrideInputs: {
[key: string]: string;
};
/**
* Gets or sets the job execution timeout in minutes for deployment which are queued against this release environment
*/
timeoutInMinutes: number;
}
export interface BuildArtifactDownloadInput extends ArtifactDownloadInputBase {
artifactItems: string[];
}
export interface BuildVersion {
commitMessage: string;
id: string;
name: string;
sourceBranch: string;
/**
* PullRequestId or Commit Id for the Pull Request for which the release will publish status
*/
sourcePullRequestId: string;
sourceRepositoryId: string;
sourceRepositoryType: string;
sourceVersion: string;
}
/**
* Represents a change associated with a build.
*/
export interface Change {
/**
* The author of the change.
*/
author: VSSInterfaces.IdentityRef;
/**
* The type of change. "commit", "changeset", etc.
*/
changeType: string;
/**
* The location of a user-friendly representation of the resource.
*/
displayUri: string;
/**
* Something that identifies the change. For a commit, this would be the SHA1. For a TFVC changeset, this would be the changeset id.
*/
id: string;
/**
* The location of the full representation of the resource.
*/
location: string;
/**
* A description of the change. This might be a commit message or changeset description.
*/
message: string;
/**
* The person or process that pushed the change.
*/
pusher: string;
/**
* A timestamp for the change.
*/
timestamp: Date;
}
export interface Condition {
/**
* Gets or sets the condition type.
*/
conditionType: ConditionType;
/**
* Gets or sets the name of the condition. e.g. 'ReleaseStarted'.
*/
name: string;
/**
* Gets or set value of the condition.
*/
value: string;
}
export declare enum ConditionType {
/**
* The condition type is undefined.
*/
Undefined = 0,
/**
* The condition type is event.
*/
Event = 1,
/**
* The condition type is environment state.
*/
EnvironmentState = 2,
/**
* The condition type is artifact.
*/
Artifact = 4,
}
export interface ConfigurationVariableValue {
/**
* Gets or sets as variable is secret or not.
*/
isSecret: boolean;
/**
* Gets or sets value of the configuration variable.
*/
value: string;
}
export interface Consumer {
consumerId: number;
consumerName: string;
}
export interface ContainerImageTrigger extends ReleaseTriggerBase {
alias: string;
}
export interface ContinuousDeploymentTriggerIssue extends AutoTriggerIssue {
artifactType: string;
artifactVersionId: string;
sourceId: string;
}
export interface ControlOptions {
alwaysRun: boolean;
continueOnError: boolean;
enabled: boolean;
}
export interface CustomArtifactDownloadInput extends ArtifactDownloadInputBase {
}
export interface DataSourceBinding {
dataSourceName: string;
endpointId: string;
endpointUrl: string;
parameters: {
[key: string]: string;
};
resultSelector: string;
resultTemplate: string;
target: string;
}
export interface DefinitionEnvironmentReference {
definitionEnvironmentId: number;
definitionEnvironmentName: string;
releaseDefinitionId: number;
releaseDefinitionName: string;
}
export interface Deployment {
/**
* Gets links to access the deployment.
*/
_links: any;
/**
* Gets attempt number.
*/
attempt: number;
/**
* Gets the date on which deployment is complete.
*/
completedOn: Date;
/**
* Gets the list of condition associated with deployment.
*/
conditions: Condition[];
/**
* Gets release definition environment id.
*/
definitionEnvironmentId: number;
/**
* Gets status of the deployment.
*/
deploymentStatus: DeploymentStatus;
/**
* Gets the unique identifier for deployment.
*/
id: number;
/**
* Gets the identity who last modified the deployment.
*/
lastModifiedBy: VSSInterfaces.IdentityRef;
/**
* Gets the date on which deployment is last modified.
*/
lastModifiedOn: Date;
/**
* Gets operation status of deployment.
*/
operationStatus: DeploymentOperationStatus;
/**
* Gets list of PostDeployApprovals.
*/
postDeployApprovals: ReleaseApproval[];
/**
* Gets list of PreDeployApprovals.
*/
preDeployApprovals: ReleaseApproval[];
/**
* Gets the date on which deployment is queued.
*/
queuedOn: Date;
/**
* Gets reason of deployment.
*/
reason: DeploymentReason;
/**
* Gets the reference of release.
*/
release: ReleaseReference;
/**
* Gets releaseDefinitionReference which specifies the reference of the release definition to which the deployment is associated.
*/
releaseDefinition: ReleaseDefinitionShallowReference;
/**
* Gets releaseEnvironmentReference which specifies the reference of the release environment to which the deployment is associated.
*/
releaseEnvironment: ReleaseEnvironmentShallowReference;
/**
* Gets the identity who requested.
*/
requestedBy: VSSInterfaces.IdentityRef;
/**
* Gets the identity for whom deployment is requested.
*/
requestedFor: VSSInterfaces.IdentityRef;
/**
* Gets the date on which deployment is scheduled.
*/
scheduledDeploymentTime: Date;
/**
* Gets the date on which deployment is started.
*/
startedOn: Date;
}
export interface DeploymentApprovalCompletedEvent {
approval: ReleaseApproval;
project: ProjectReference;
release: Release;
}
export interface DeploymentApprovalPendingEvent {
approval: ReleaseApproval;
approvalOptions: ApprovalOptions;
completedApprovals: ReleaseApproval[];
data: {
[key: string]: any;
};
deployment: Deployment;
isMultipleRankApproval: boolean;
pendingApprovals: ReleaseApproval[];
project: ProjectReference;
release: Release;
}
export interface DeploymentAttempt {
attempt: number;
deploymentId: number;
/**
* Error log to show any unexpected error that occurred during executing deploy step
*/
errorLog: string;
/**
* Specifies whether deployment has started or not
*/
hasStarted: boolean;
id: number;
/**
* All the issues related to the deployment
*/
issues: Issue[];
job: ReleaseTask;
lastModifiedBy: VSSInterfaces.IdentityRef;
lastModifiedOn: Date;
operationStatus: DeploymentOperationStatus;
postDeploymentGates: ReleaseGates;
preDeploymentGates: ReleaseGates;
queuedOn: Date;
reason: DeploymentReason;
releaseDeployPhases: ReleaseDeployPhase[];
requestedBy: VSSInterfaces.IdentityRef;
requestedFor: VSSInterfaces.IdentityRef;
runPlanId: string;
status: DeploymentStatus;
tasks: ReleaseTask[];
}
export interface DeploymentAuthorizationInfo {
authorizationHeaderFor: AuthorizationHeaderFor;
resources: string[];
tenantId: string;
vstsAccessTokenKey: string;
}
export declare enum DeploymentAuthorizationOwner {
Automatic = 0,
DeploymentSubmitter = 1,
FirstPreDeploymentApprover = 2,
}
export interface DeploymentCompletedEvent {
comment: string;
data: {
[key: string]: any;
};
deployment: Deployment;
environment: ReleaseEnvironment;
project: ProjectReference;
}
export declare enum DeploymentExpands {
All = 0,
DeploymentOnly = 1,
Approvals = 2,
Artifacts = 4,
}
export interface DeploymentInput extends BaseDeploymentInput {
artifactsDownloadInput: ArtifactsDownloadInput;
demands: any[];
enableAccessToken: boolean;
queueId: number;
skipArtifactsDownload: boolean;
}
export interface DeploymentJob {
job: ReleaseTask;
tasks: ReleaseTask[];
}
export interface DeploymentManualInterventionPendingEvent {
deployment: Deployment;
emailRecipients: string[];
environmentOwner: VSSInterfaces.IdentityRef;
manualIntervention: ManualIntervention;
project: ProjectReference;
release: Release;
}
export declare enum DeploymentOperationStatus {
/**
* The deployment operation status is undefined.
*/
Undefined = 0,
/**
* The deployment operation status is queued.
*/
Queued = 1,
/**
* The deployment operation status is scheduled.
*/
Scheduled = 2,
/**
* The deployment operation status is pending.
*/
Pending = 4,
/**
* The deployment operation status is approved.
*/
Approved = 8,
/**
* The deployment operation status is rejected.
*/
Rejected = 16,
/**
* The deployment operation status is deferred.
*/
Deferred = 32,
/**
* The deployment operation status is queued for agent.
*/
QueuedForAgent = 64,
/**
* The deployment operation status is phase inprogress.
*/
PhaseInProgress = 128,
/**
* The deployment operation status is phase succeeded.
*/
PhaseSucceeded = 256,
/**
* The deployment operation status is phase partially succeeded.
*/
PhasePartiallySucceeded = 512,
/**
* The deployment operation status is phase failed.
*/
PhaseFailed = 1024,
/**
* The deployment operation status is canceled.
*/
Canceled = 2048,
/**
* The deployment operation status is phase canceled.
*/
PhaseCanceled = 4096,
/**
* The deployment operation status is manualintervention pending.
*/
ManualInterventionPending = 8192,
/**
* The deployment operation status is queued for pipeline.
*/
QueuedForPipeline = 16384,
/**
* The deployment operation status is cancelling.
*/
Cancelling = 32768,
/**
* The deployment operation status is EvaluatingGates.
*/
EvaluatingGates = 65536,
/**
* The deployment operation status is GateFailed.
*/
GateFailed = 131072,
/**
* The deployment operation status is all.
*/
All = 258047,
}
export interface DeploymentQueryParameters {
artifactSourceId: string;
artifactTypeId: string;
artifactVersions: string[];
deploymentsPerEnvironment: number;
deploymentStatus: DeploymentStatus;
environments: DefinitionEnvironmentReference[];
expands: DeploymentExpands;
isDeleted: boolean;
latestDeploymentsOnly: boolean;
maxDeploymentsPerEnvironment: number;
maxModifiedTime: Date;
minModifiedTime: Date;
operationStatus: DeploymentOperationStatus;
queryOrder: ReleaseQueryOrder;
queryType: DeploymentsQueryType;
sourceBranch: string;
}
export declare enum DeploymentReason {
/**
* The deployment reason is none.
*/
None = 0,
/**
* The deployment reason is manual.
*/
Manual = 1,
/**
* The deployment reason is automated.
*/
Automated = 2,
/**
* The deployment reason is scheduled.
*/
Scheduled = 4,
}
export declare enum DeploymentsQueryType {
Regular = 1,
FailingSince = 2,
}
export interface DeploymentStartedEvent {
environment: ReleaseEnvironment;
project: ProjectReference;
release: Release;
}
export declare enum DeploymentStatus {
/**
* The deployment status is undefined.
*/
Undefined = 0,
/**
* The deployment status is not deployed.
*/
NotDeployed = 1,
/**
* The deployment status is inprogress.
*/
InProgress = 2,
/**
* The deployment status is succeeded.
*/
Succeeded = 4,
/**
* The deployment status is partiallysucceeded.
*/
PartiallySucceeded = 8,
/**
* The deployment status is failed.
*/
Failed = 16,
/**
* The deployment status is all.
*/
All = 31,
}
export interface DeployPhase {
name: string;
phaseType: DeployPhaseTypes;
rank: number;
workflowTasks: WorkflowTask[];
}
export declare enum DeployPhaseStatus {
Undefined = 0,
NotStarted = 1,
InProgress = 2,
PartiallySucceeded = 4,
Succeeded = 8,
Failed = 16,
Canceled = 32,
Skipped = 64,
Cancelling = 128,
}
export declare enum DeployPhaseTypes {
Undefined = 0,
AgentBasedDeployment = 1,
RunOnServer = 2,
MachineGroupBasedDeployment = 4,
}
export interface EmailRecipients {
emailAddresses: string[];
tfsIds: string[];
}
/**
* 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.
*/
export interface EnvironmentExecutionPolicy {
/**
* This policy decides, how many environments would be with Environment Runner.
*/
concurrencyCount: number;
/**
* 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.
*/
queueDepthCount: number;
}
export interface EnvironmentOptions {
autoLinkWorkItems: boolean;
badgeEnabled: boolean;
emailNotificationType: string;
emailRecipients: string;
enableAccessToken: boolean;
publishDeploymentStatus: boolean;
skipArtifactsDownload: boolean;
timeoutInMinutes: number;
}
export interface EnvironmentRetentionPolicy {
daysToKeep: number;
releasesToKeep: number;
retainBuild: boolean;
}
export declare enum EnvironmentStatus {
Undefined = 0,
NotStarted = 1,
InProgress = 2,
Succeeded = 4,
Canceled = 8,
Rejected = 16,
Queued = 32,
Scheduled = 64,
PartiallySucceeded = 128,
}
export interface ExecutionInput {
parallelExecutionType: ParallelExecutionTypes;
}
/**
* Class to represent favorite entry
*/
export interface FavoriteItem {
/**
* Application specific data for the entry
*/
data: string;
/**
* Unique Id of the the entry
*/
id: string;
/**
* Display text for favorite entry
*/
name: string;
/**
* Application specific favorite entry type. Empty or Null represents that Favorite item is a Folder
*/
type: string;
}
export interface Folder {
createdBy: VSSInterfaces.IdentityRef;
createdOn: Date;
description: string;
lastChangedBy: VSSInterfaces.IdentityRef;
lastChangedDate: Date;
path: string;
}
export declare enum FolderPathQueryOrder {
/**
* No order
*/
None = 0,
/**
* Order by folder name and path ascending.
*/
Ascending = 1,
/**
* Order by folder name and path descending.
*/
Descending = 2,
}
export declare enum GateStatus {
None = 0,
Pending = 1,
InProgress = 2,
Succeeded = 4,
Failed = 8,
}
export interface GitArtifactDownloadInput extends ArtifactDownloadInputBase {
}
export interface GitHubArtifactDownloadInput extends ArtifactDownloadInputBase {
}
export interface Issue {
issueType: string;
message: string;
}
export declare enum IssueSource {
None = 0,
User = 1,
System = 2,
}
export interface JenkinsArtifactDownloadInput extends ArtifactDownloadInputBase {
artifactItems: string[];
}
export interface MachineGroupBasedDeployPhase extends DeployPhase {
deploymentInput: MachineGroupDeploymentInput;
}
export interface MachineGroupDeploymentInput extends DeploymentInput {
deploymentHealthOption: string;
healthPercent: number;
tags: string[];
}
export interface MailMessage {
body: string;
cC: EmailRecipients;
inReplyTo: string;
messageId: string;
replyBy: Date;
replyTo: EmailRecipients;
sections: MailSectionType[];
senderType: SenderType;
subject: string;
to: EmailRecipients;
}
export declare enum MailSectionType {
Details = 0,
Environments = 1,
Issues = 2,
TestResults = 3,
WorkItems = 4,
ReleaseInfo = 5,
}
export interface ManualIntervention {
/**
* Gets or sets the identity who should approve.
*/
approver: VSSInterfaces.IdentityRef;
/**
* Gets or sets comments for approval.
*/
comments: string;
/**
* Gets date on which it got created.
*/
createdOn: Date;
/**
* Gets the unique identifier for manual intervention.
*/
id: number;
/**
* Gets or sets instructions for approval.
*/
instructions: string;
/**
* Gets date on which it got modified.
*/
modifiedOn: Date;
/**
* Gets or sets the name.
*/
name: string;
/**
* Gets releaseReference for manual intervention.
*/
release: ReleaseShallowReference;
/**
* Gets releaseDefinitionReference for manual intervention.
*/
releaseDefinition: ReleaseDefinitionShallowReference;
/**
* Gets releaseEnvironmentReference for manual intervention.
*/
releaseEnvironment: ReleaseEnvironmentShallowReference;
/**
* Gets or sets the status of the manual intervention.
*/
status: ManualInterventionStatus;
/**
* Get task instance identifier.
*/
taskInstanceId: string;
/**
* Gets url to access the manual intervention.
*/
url: string;
}
/**
* Describes manual intervention status
*/
export declare enum ManualInterventionStatus {
/**
* The manual intervention does not have the status set.
*/
Unknown = 0,
/**
* The manual intervention is pending.
*/
Pending = 1,
/**
* The manual intervention is rejected.
*/
Rejected = 2,
/**
* The manual intervention is approved.
*/
Approved = 4,
/**
* The manual intervention is canceled.
*/
Canceled = 8,
}
export interface ManualInterventionUpdateMetadata {
/**
* Sets the comment for manual intervention update.
*/
comment: string;
/**
* Sets the status of the manual intervention.
*/
status: ManualInterventionStatus;
}
export interface MappingDetails {
mappings: {
[key: string]: FormInputInterfaces.InputValue;
};
}
export interface Metric {
name: string;
value: number;
}
export interface MultiConfigInput extends ParallelExecutionInputBase {
multipliers: string;
}
export interface MultiMachineInput extends ParallelExecutionInputBase {
}
export interface PackageTrigger extends ReleaseTriggerBase {
alias: string;
}
export interface ParallelExecutionInputBase extends ExecutionInput {
continueOnError: boolean;
maxNumberOfAgents: number;
}
export declare enum ParallelExecutionTypes {
None = 0,
MultiConfiguration = 1,
MultiMachine = 2,
}
export interface PipelineProcess {
type: PipelineProcessTypes;
}
export declare enum PipelineProcessTypes {
Designer = 1,
Yaml = 2,
}
export interface ProjectReference {
/**
* Gets the unique identifier of this field.
*/
id: string;
/**
* Gets name of project.
*/
name: string;
}
export interface PropertySelector {
properties: string[];
selectorType: PropertySelectorType;
}
export declare enum PropertySelectorType {
Inclusion = 0,
Exclusion = 1,
}
export interface QueuedReleaseData {
projectId: string;
queuePosition: number;
releaseId: number;
}
export interface RealtimeReleaseEvent {
projectId: string;
releaseId: number;
}
export interface Release {
/**
* Gets links to access the release.
*/
_links: any;
/**
* Gets or sets the list of artifacts.
*/
artifacts: Artifact[];
/**
* Gets or sets comment.
*/
comment: string;
/**
* Gets or sets the identity who created.
*/
createdBy: VSSInterfaces.IdentityRef;
/**
* Gets date on which it got created.
*/
createdOn: Date;
/**
* Gets revision number of definition snapshot.
*/
definitionSnapshotRevision: number;
/**
* Gets or sets description of release.
*/
description: string;
/**
* Gets list of environments.
*/
environments: ReleaseEnvironment[];
/**
* Gets the unique identifier of this field.
*/
id: number;
/**
* Whether to exclude the release from retention policies.
*/
keepForever: boolean;
/**
* Gets logs container url.
*/
logsContainerUrl: string;
/**
* Gets or sets the identity who modified.
*/
modifiedBy: VSSInterfaces.IdentityRef;
/**
* Gets date on which it got modified.
*/
modifiedOn: Date;
/**
* Gets name.
*/
name: string;
/**
* Gets pool name.
*/
poolName: string;
/**
* Gets or sets project reference.
*/
projectReference: ProjectReference;
properties: any;
/**
* Gets reason of release.
*/
reason: ReleaseReason;
/**
* Gets releaseDefinitionReference which specifies the reference of the release definition to which this release is associated.
*/
releaseDefinition: ReleaseDefinitionShallowReference;
/**
* Gets release name format.
*/
releaseNameFormat: string;
/**
* Gets status.
*/
status: ReleaseStatus;
/**
* Gets or sets list of tags.
*/
tags: string[];
triggeringArtifactAlias: string;
url: string;
/**
* Gets the list of variable groups.
*/
variableGroups: VariableGroup[];
/**
* Gets or sets the dictionary of variables.
*/
variables: {
[key: string]: ConfigurationVariableValue;
};
}
export interface ReleaseAbandonedEvent {
project: ProjectReference;
release: Release;
}
export interface ReleaseApproval {
/**
* Gets or sets the type of approval.
*/
approvalType: ApprovalType;
/**
* Gets the identity who approved.
*/
approvedBy: VSSInterfaces.IdentityRef;
/**
* Gets or sets the identity who should approve.
*/
approver: VSSInterfaces.IdentityRef;
/**
* Gets or sets attempt which specifies as which deployment attempt it belongs.
*/
attempt: number;
/**
* Gets or sets comments for approval.
*/
comments: string;
/**
* Gets date on which it got created.
*/
createdOn: Date;
/**
* Gets history which specifies all approvals associated with this approval.
*/
history: ReleaseApprovalHistory[];
/**
* Gets the unique identifier of this field.
*/
id: number;
/**
* Gets or sets as approval is automated or not.
*/
isAutomated: boolean;
isNotificationOn: boolean;
/**
* Gets date on which it got modified.
*/
modifiedOn: Date;
/**
* Gets or sets rank which specifies the order of the approval. e.g. Same rank denotes parallel approval.
*/
rank: number;
/**
* Gets releaseReference which specifies the reference of the release to which this approval is associated.
*/
release: ReleaseShallowReference;
/**
* Gets releaseDefinitionReference which specifies the reference of the release definition to which this approval is associated.
*/
releaseDefinition: ReleaseDefinitionShallowReference;
/**
* Gets releaseEnvironmentReference which specifies the reference of the release environment to which this approval is associated.
*/
releaseEnvironment: ReleaseEnvironmentShallowReference;
/**
* Gets the revision number.
*/
revision: number;
/**
* Gets or sets the status of the approval.
*/
status: ApprovalStatus;
trialNumber: number;
/**
* Gets url to access the approval.
*/
url: string;
}
export interface ReleaseApprovalHistory {
approver: VSSInterfaces.IdentityRef;
changedBy: VSSInterfaces.IdentityRef;
comments: string;
createdOn: Date;
modifiedOn: Date;
revision: number;
}
export interface ReleaseApprovalPendingEvent {
approval: ReleaseApproval;
approvalOptions: ApprovalOptions;
completedApprovals: ReleaseApproval[];
definitionName: string;
deployment: Deployment;
environmentId: number;
environmentName: string;
environments: ReleaseEnvironment[];
isMultipleRankApproval: boolean;
pendingApprovals: ReleaseApproval[];
releaseCreator: string;
releaseName: string;
title: string;
webAccessUri: string;
}
export interface ReleaseArtifact {
artifactProvider: ArtifactProvider;
artifactType: string;
definitionData: string;
definitionId: number;
description: string;
id: number;
name: string;
releaseId: number;
}
export interface ReleaseCondition extends Condition {
result: boolean;
}
export interface ReleaseCreatedEvent {
project: ProjectReference;
release: Release;
}
export interface ReleaseDefinition {
/**
* Gets links to access the release definition.
*/
_links: any;
/**
* Gets or sets the list of artifacts.
*/
artifacts: Artifact[];
/**
* Gets or sets comment.
*/
comment: string;
/**
* Gets or sets the identity who created.
*/
createdBy: VSSInterfaces.IdentityRef;
/**
* Gets date on which it got created.
*/
createdOn: Date;
/**
* Gets or sets the description.
*/
description: string;
/**
* Gets or sets the list of environments.
*/
environments: ReleaseDefinitionEnvironment[];
/**
* Gets the unique identifier of this field.
*/
id: number;
/**
* Whether release definition is deleted.
*/
isDeleted: boolean;
/**
* Gets the reference of last release.
*/
lastRelease: ReleaseReference;
/**
* Gets or sets the identity who modified.
*/
modifiedBy: VSSInterfaces.IdentityRef;
/**
* Gets date on which it got modified.
*/
modifiedOn: Date;
/**
* Gets or sets the name.
*/
name: string;
/**
* Gets or sets the path.
*/
path: string;
/**
* Gets or sets pipeline process.
*/
pipelineProcess: PipelineProcess;
/**
* Gets or sets properties.
*/
properties: any;
/**
* Gets or sets the release name format.
*/
releaseNameFormat: string;
retentionPolicy: RetentionPolicy;
/**
* Gets the revision number.
*/
revision: number;
/**
* Gets or sets source of release definition.
*/
source: ReleaseDefinitionSource;
/**
* Gets or sets list of tags.
*/
tags: string[];
/**
* Gets or sets the list of triggers.
*/
triggers: ReleaseTriggerBase[];
/**
* Gets url to access the release definition.
*/
url: string;
/**
* Gets or sets the list of variable groups.
*/
variableGroups: number[];
/**
* Gets or sets the dictionary of variables.
*/
variables: {
[key: string]: ConfigurationVariableValue;
};
}
export interface ReleaseDefinitionApprovals {
approvalOptions: ApprovalOptions;
approvals: ReleaseDefinitionApprovalStep[];
}
export interface ReleaseDefinitionApprovalStep extends ReleaseDefinitionEnvironmentStep {
approver: VSSInterfaces.IdentityRef;
isAutomated: boolean;
isNotificationOn: boolean;
rank: number;
}
export interface ReleaseDefinitionDeployStep extends ReleaseDefinitionEnvironmentStep {
/**
* The list of steps for this definition.
*/
tasks: WorkflowTask[];
}
export interface ReleaseDefinitionEnvironment {
badgeUrl: string;
conditions: Condition[];
demands: any[];
deployPhases: DeployPhase[];
deployStep: ReleaseDefinitionDeployStep;
environmentOptions: EnvironmentOptions;
executionPolicy: EnvironmentExecutionPolicy;
id: number;
name: string;
owner: VSSInterfaces.IdentityRef;
postDeployApprovals: ReleaseDefinitionApprovals;
postDeploymentGates: ReleaseDefinitionGatesStep;
preDeployApprovals: ReleaseDefinitionApprovals;
preDeploymentGates: ReleaseDefinitionGatesStep;
processParameters: DistributedTaskCommonInterfaces.ProcessParameters;
properties: any;
queueId: number;
rank: number;
retentionPolicy: EnvironmentRetentionPolicy;
runOptions: {
[key: string]: string;
};
schedules: ReleaseSchedule[];
variableGroups: number[];
variables: {
[key: string]: ConfigurationVariableValue;
};
}
export interface ReleaseDefinitionEnvironmentStep {
id: number;
}
export interface ReleaseDefinitionEnvironmentSummary {
id: number;
lastReleases: ReleaseShallowReference[];
name: string;
}
export interface ReleaseDefinitionEnvironmentTemplate {
canDelete: boolean;
category: string;
description: string;
environment: ReleaseDefinitionEnvironment;
iconTaskId: string;
iconUri: string;
id: string;
isDeleted: boolean;
name: string;
}
export declare enum ReleaseDefinitionExpands {
None = 0,
Environments = 2,
Artifacts = 4,
Triggers = 8,
Variables = 16,
Tags = 32,
LastRelease = 64,
}
export interface ReleaseDefinitionGate {
tasks: WorkflowTask[];
}
export interface ReleaseDefinitionGatesOptions {
isEnabled: boolean;
samplingInterval: number;
stabilizationTime: number;
timeout: number;
}
export interface ReleaseDefinitionGatesStep {
gates: ReleaseDefinitionGate[];
gatesOptions: ReleaseDefinitionGatesOptions;
id: number;
}
export declare enum ReleaseDefinitionQueryOrder {
IdAscending = 0,
IdDescending = 1,
NameAscending = 2,
NameDescending = 3,
}
export interface ReleaseDefinitionRevision {
/**
* Gets api-version for revision object.
*/
apiVersion: string;
/**
* Gets the identity who did change.
*/
changedBy: VSSInterfaces.IdentityRef;
/**
* Gets date on which it got changed.
*/
changedDate: Date;
/**
* Gets type of change.
*/
changeType: AuditAction;
/**
* Gets comments for revision.
*/
comment: string;
/**
* Get id of the definition.
*/
definitionId: number;
/**
* Gets definition url.
*/
definitionUrl: string;
/**
* Get revision number of the definition.
*/
revision: number;
}
export interface ReleaseDefinitionShallowReference {
/**
* Gets the links to related resources, APIs, and views for the release definition.
*/
_links: any;
/**
* Gets the unique identifier of release definition.
*/
id: number;
/**
* Gets or sets the name of the release definition.
*/
name: string;
/**
* Gets the REST API url to access the release definition.
*/
url: string;
}
export declare enum ReleaseDefinitionSource {
Undefined = 0,
RestApi = 1,
UserInterface = 2,
Ibiza = 4,
PortalExtensionApi = 8,
}
export interface ReleaseDefinitionSummary {
environments: ReleaseDefinitionEnvironmentSummary[];
releaseDefinition: ReleaseDefinitionShallowReference;
releases: Release[];
}
export interface ReleaseDefinitionUndeleteParameter {
/**
* Gets or sets comment.
*/
comment: string;
}
export interface ReleaseDeployPhase {
deploymentJobs: DeploymentJob[];
errorLog: string;
id: number;
manualInterventions: ManualIntervention[];
name: string;
phaseId: string;
phaseType: DeployPhaseTypes;
rank: number;
runPlanId: string;
status: DeployPhaseStatus;
}
export interface ReleaseEnvironment {
/**
* Gets list of conditions.
*/
conditions: ReleaseCondition[];
/**
* Gets date on which it got created.
*/
createdOn: Date;
/**
* Gets definition environment id.
*/
definitionEnvironmentId: number;
/**
* Gets demands.
*/
demands: any[];
/**
* Gets list of deploy phases snapshot.
*/
deployPhasesSnapshot: DeployPhase[];
/**
* Gets deploy steps.
*/
deploySteps: DeploymentAttempt[];
/**
* Gets environment options.
*/
environmentOptions: EnvironmentOptions;
/**
* Gets the unique identifier of this field.
*/
id: number;
/**
* Gets date on which it got modified.
*/
modifiedOn: Date;
/**
* Gets name.
*/
name: string;
/**
* Gets next scheduled UTC time.
*/
nextScheduledUtcTime: Date;
/**
* Gets the identity who is owner for release environment.
*/
owner: VSSInterfaces.IdentityRef;
/**
* Gets list of post deploy approvals snapshot.
*/
postApprovalsSnapshot: ReleaseDefinitionApprovals;
/**
* Gets list of post deploy approvals.
*/
postDeployApprovals: ReleaseApproval[];
postDeploymentGatesSnapshot: ReleaseDefinitionGatesStep;
/**
* Gets list of pre deploy approvals snapshot.
*/
preApprovalsSnapshot: ReleaseDefinitionApprovals;
/**
* Gets list of pre deploy approvals.
*/
preDeployApprovals: ReleaseApproval[];
preDeploymentGatesSnapshot: ReleaseDefinitionGatesStep;
/**
* Gets process parameters.
*/
processParameters: DistributedTaskCommonInterfaces.ProcessParameters;
/**
* Gets queue id.
*/
queueId: number;
/**
* Gets rank.
*/
rank: number;
/**
* Gets release reference which specifies the reference of the release to which this release environment is associated.
*/
release: ReleaseShallowReference;
/**
* Gets the identity who created release.
*/
releaseCreatedBy: VSSInterfaces.IdentityRef;
/**
* Gets releaseDefinitionReference which specifies the reference of the release definition to which this release environment is associated.
*/
releaseDefinition: ReleaseDefinitionShallowReference;
/**
* Gets release description.
*/
releaseDescription: string;
/**
* Gets release id.
*/
releaseId: number;
/**
* Gets schedule deployment time of release environment.
*/
scheduledDeploymentTime: Date;
/**
* Gets list of schedules.
*/
schedules: ReleaseSchedule[];
/**
* Gets environment status.
*/
status: EnvironmentStatus;
/**
* Gets time to deploy.
*/
timeToDeploy: number;
/**
* Gets trigger reason.
*/
triggerReason: string;
/**
* Gets the list of variable groups.
*/
variableGroups: VariableGroup[];
/**
* Gets the dictionary of variables.
*/
variables: {
[key: string]: ConfigurationVariableValue;
};
/**
* Gets list of workflow tasks.
*/
workflowTasks: WorkflowTask[];
}
export interface ReleaseEnvironmentCompletedEvent {
createdByName: string;
definitionId: number;
definitionName: string;
environment: ReleaseEnvironment;
environmentId: number;
projectName: string;
reason: DeploymentReason;
releaseCreatedBy: VSSInterfaces.IdentityRef;
releaseLogsUri: string;
releaseName: string;
status: string;
title: string;
webAccessUri: string;
}
export interface ReleaseEnvironmentShallowReference {
/**
* Gets the links to related resources, APIs, and views for the release environment.
*/
_links: any;
/**
* Gets the unique identifier of release environment.
*/
id: number;
/**
* Gets or sets the name of the release environment.
*/
name: string;
/**
* Gets the REST API url to access the release environment.
*/
url: string;
}
export interface ReleaseEnvironmentUpdateMetadata {
/**
* Gets or sets comment.
*/
comment: string;
/**
* Gets or sets scheduled deployment time.
*/
scheduledDeploymentTime: Date;
/**
* Gets or sets status of environment.
*/
status: EnvironmentStatus;
}
export declare enum ReleaseExpands {
None = 0,
Environments = 2,
Artifacts = 4,
Approvals = 8,
ManualInterventions = 16,
Variables = 32,
Tags = 64,
}
export interface ReleaseGates {
deploymentJobs: DeploymentJob[];
id: number;
lastModifiedOn: Date;
runPlanId: string;
stabilizationCompletedOn: Date;
startedOn: Date;
status: GateStatus;
}
export declare enum ReleaseQueryOrder {
Descending = 0,
Ascending = 1,
}
export declare enum ReleaseReason {
None = 0,
Manual = 1,
ContinuousIntegration = 2,
Schedule = 3,
}
export interface ReleaseReference {
/**
* Gets links to access the release.
*/
_links: any;
/**
* Gets list of artifacts.
*/
artifacts: Artifact[];
/**
* Gets the identity who created.
*/
createdBy: VSSInterfaces.IdentityRef;
/**
* Gets date on which it got created.
*/
createdOn: Date;
/**
* Gets description.
*/
description: string;
/**
* Gets the unique identifier of this field.
*/
id: number;
/**
* Gets the identity who modified.
*/
modifiedBy: VSSInterfaces.IdentityRef;
/**
* Gets name of release.
*/
name: string;
/**
* Gets reason for release.
*/
reason: ReleaseReason;
/**
* Gets release definition shallow reference.
*/
releaseDefinition: ReleaseDefinitionShallowReference;
url: string;
webAccessUri: string;
}
export interface ReleaseRevision {
changedBy: VSSInterfaces.IdentityRef;
changedDate: Date;
changeDetails: string;
changeType: string;
comment: string;
definitionSnapshotRevision: number;
releaseId: number;
}
export interface ReleaseSchedule {
/**
* Days of the week to release
*/
daysToRelease: ScheduleDays;
/**
* Team Foundation Job Definition Job Id
*/
jobId: string;
/**
* Local time zone hour to start
*/
startHours: number;
/**
* Local time zone minute to start
*/
startMinutes: number;
/**
* Time zone Id of release schedule, such as 'UTC'
*/
timeZoneId: string;
}
export interface ReleaseSettings {
retentionSettings: RetentionSettings;
}
export interface ReleaseShallowReference {
/**
* Gets the links to related resources, APIs, and views for the release.
*/
_links: any;
/**
* Gets the unique identifier of release.
*/
id: number;
/**
* Gets or sets the name of the release.
*/
name: string;
/**
* Gets the REST API url to access the release.
*/
url: string;
}
export interface ReleaseStartMetadata {
/**
* Sets list of artifact to create a release.
*/
artifacts: ArtifactMetadata[];
/**
* Sets definition Id to create a release.
*/
definitionId: number;
/**
* Sets description to create a release.
*/
description: string;
/**
* Sets 'true' to create release in draft mode, 'false' otherwise.
*/
isDraft: boolean;
/**
* Sets list of environments to manual as condition.
*/
manualEnvironments: string[];
properties: any;
/**
* Sets reason to create a release.
*/
reason: ReleaseReason;
}
export declare enum ReleaseStatus {
Undefined = 0,
Draft = 1,
Active = 2,
Abandoned = 4,
}
export interface ReleaseTask {
agentName: string;
dateEnded: Date;
dateStarted: Date;
finishTime: Date;
id: number;
issues: Issue[];
lineCount: number;
logUrl: string;
name: string;
percentComplete: number;
rank: number;
startTime: Date;
status: TaskStatus;
task: WorkflowTaskReference;
timelineRecordId: string;
}
export interface ReleaseTaskAttachment {
_links: any;
createdOn: Date;
modifiedBy: string;
modifiedOn: Date;
name: string;
recordId: string;
timelineId: string;
type: string;
}
export interface ReleaseTaskLogUpdatedEvent extends RealtimeReleaseEvent {
environmentId: number;
lines: string[];
timelineRecordId: string;
}
export interface ReleaseTasksUpdatedEvent extends RealtimeReleaseEvent {
environmentId: number;
job: ReleaseTask;
releaseDeployPhaseId: number;
releaseStepId: number;
tasks: ReleaseTask[];
}
export interface ReleaseTriggerBase {
triggerType: ReleaseTriggerType;
}
export declare enum ReleaseTriggerType {
Undefined = 0,
ArtifactSource = 1,
Schedule = 2,
SourceRepo = 3,
ContainerImage = 4,
Package = 5,
PullRequest = 6,
}
export interface ReleaseUpdatedEvent extends RealtimeReleaseEvent {
release: Release;
}
export interface ReleaseUpdateMetadata {
/**
* Sets comment for release.
*/
comment: string;
/**
* Set 'true' to exclude the release from retention policies.
*/
keepForever: boolean;
/**
* Sets list of manual environments.
*/
manualEnvironments: string[];
/**
* Sets status of the release.
*/
status: ReleaseStatus;
}
export interface ReleaseWorkItemRef {
assignee: string;
id: string;
state: string;
title: string;
type: string;
url: string;
}
export interface RetentionPolicy {
daysToKeep: number;
}
export interface RetentionSettings {
daysToKeepDeletedReleases: number;
defaultEnvironmentRetentionPolicy: EnvironmentRetentionPolicy;
maximumEnvironmentRetentionPolicy: EnvironmentRetentionPolicy;
}
export interface RunOnServerDeployPhase extends DeployPhase {
deploymentInput: ServerDeploymentInput;
}
export declare enum ScheduleDays {
None = 0,
Monday = 1,
Tuesday = 2,
Wednesday = 4,
Thursday = 8,
Friday = 16,
Saturday = 32,
Sunday = 64,
All = 127,
}
export interface ScheduledReleaseTrigger extends ReleaseTriggerBase {
/**
* Release schedule for Scheduled Release trigger type
*/
schedule: ReleaseSchedule;
}
export declare enum SenderType {
ServiceAccount = 1,
RequestingUser = 2,
}
export interface ServerDeploymentInput extends BaseDeploymentInput {
parallelExecution: ExecutionInput;
}
export interface SourceIdInput {
id: string;
name: string;
}
export interface SourceRepoTrigger extends ReleaseTriggerBase {
alias: string;
branchFilters: string[];
}
export interface SummaryMailSection {
htmlContent: string;
rank: number;
sectionType: MailSectionType;
title: string;
}
export interface TaskOrchestrationPlanGroupReference {
planGroup: string;
projectId: string;
}
export interface TaskOrchestrationPlanGroupsStartedEvent {
planGroups: TaskOrchestrationPlanGroupReference[];
}
export declare enum TaskStatus {
Unknown = 0,
Pending = 1,
InProgress = 2,
Success = 3,
Failure = 4,
Canceled = 5,
Skipped = 6,
Succeeded = 7,
Failed = 8,
PartiallySucceeded = 9,
}
export interface TfvcArtifactDownloadInput extends ArtifactDownloadInputBase {
}
export interface TimeZone {
displayName: string;
id: string;
}
export interface TimeZoneList {
utcTimeZone: TimeZone;
validTimeZones: TimeZone[];
}
export interface VariableGroup {
/**
* Gets or sets the identity who created.
*/
createdBy: VSSInterfaces.IdentityRef;
/**
* Gets date on which it got created.
*/
createdOn: Date;
/**
* Gets or sets description.
*/
description: string;
/**
* Gets the unique identifier of this field.
*/
id: number;
/**
* Gets or sets the identity who modified.