azure-devops-node-api
Version:
Node client for Azure DevOps and TFS REST APIs
2,035 lines • 108 kB
TypeScript
import DistributedTaskCommonInterfaces = require("../interfaces/DistributedTaskCommonInterfaces");
import FormInputInterfaces = require("../interfaces/common/FormInputInterfaces");
import VSSInterfaces = require("../interfaces/common/VSSInterfaces");
export interface AgentArtifactDefinition {
/**
* Gets or sets the artifact definition alias.
*/
alias?: string;
/**
* Gets or sets the artifact type.
*/
artifactType?: AgentArtifactType;
/**
* Gets or sets the artifact definition details.
*/
details?: string;
/**
* Gets or sets the name of artifact definition.
*/
name?: string;
/**
* Gets or sets the version of artifact definition.
*/
version?: string;
}
export declare enum AgentArtifactType {
/**
* Indicates XamlBuild artifact
*/
XamlBuild = 0,
/**
* Indicates Build artifact
*/
Build = 1,
/**
* Indicates Jenkins artifact
*/
Jenkins = 2,
/**
* Indicates FileShare artifact
*/
FileShare = 3,
/**
* Indicates Nuget artifact
*/
Nuget = 4,
/**
* Indicates TfsOnPrem artifact
*/
TfsOnPrem = 5,
/**
* Indicates GitHub artifact
*/
GitHub = 6,
/**
* Indicates TFGit artifact
*/
TFGit = 7,
/**
* Indicates ExternalTfsBuild artifact
*/
ExternalTfsBuild = 8,
/**
* Indicates Custom artifact
*/
Custom = 9,
/**
* Indicates Tfvc artifact
*/
Tfvc = 10
}
export interface AgentBasedDeployPhase extends DeployPhase {
/**
* Gets and sets the agent job deployment input
*/
deploymentInput?: AgentDeploymentInput;
}
export interface AgentDeploymentInput extends DeploymentInput {
/**
* Specification for an agent on which a job gets executed.
*/
agentSpecification?: AgentSpecification;
/**
* Gets or sets the image ID.
*/
imageId?: number;
/**
* Gets or sets the parallel execution input.
*/
parallelExecution?: ExecutionInput;
}
/**
* Represents a reference to an agent queue.
*/
export interface AgentPoolQueueReference extends ResourceReference {
/**
* The ID of the queue.
*/
id?: number;
}
/**
* Specification of the agent defined by the pool provider.
*/
export interface AgentSpecification {
/**
* Agent specification unique identifier.
*/
identifier?: string;
}
export declare enum ApprovalExecutionOrder {
/**
* Approvals shown before gates.
*/
BeforeGates = 1,
/**
* Approvals shown after successful execution of gates.
*/
AfterSuccessfulGates = 2,
/**
* Approvals shown always after execution of gates.
*/
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 {
/**
* Specify whether the approval can be skipped if the same approver approved the previous stage.
*/
autoTriggeredAndPreviousEnvironmentApprovedCanBeSkipped?: boolean;
/**
* Specify whether revalidate identity of approver before completing the approval.
*/
enforceIdentityRevalidation?: boolean;
/**
* Approvals execution order.
*/
executionOrder?: ApprovalExecutionOrder;
/**
* Specify whether the user requesting a release or deployment should allow to approver.
*/
releaseCreatorCanBeApprover?: boolean;
/**
* The number of approvals required to move release forward. '0' means all approvals required.
*/
requiredApproverCount?: number;
/**
* Approval timeout. Approval default timeout is 30 days. Maximum allowed timeout is 365 days. '0' means default timeout i.e 30 days.
*/
timeoutInMinutes?: number;
}
export declare enum ApprovalStatus {
/**
* Indicates the approval does not have the status set.
*/
Undefined = 0,
/**
* Indicates the approval is pending.
*/
Pending = 1,
/**
* Indicates the approval is approved.
*/
Approved = 2,
/**
* Indicates the approval is rejected.
*/
Rejected = 4,
/**
* Indicates the approval is reassigned.
*/
Reassigned = 6,
/**
* Indicates the approval is canceled.
*/
Canceled = 7,
/**
* Indicates the approval is skipped.
*/
Skipped = 8
}
export declare enum ApprovalType {
/**
* Indicates the approval type does not set.
*/
Undefined = 0,
/**
* Indicates the approvals which executed before deployment.
*/
PreDeploy = 1,
/**
* Indicates the approvals which executed after deployment.
*/
PostDeploy = 2,
/**
* Indicates all approvals.
*/
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;
};
/**
* Indicates whether artifact is primary or not.
*/
isPrimary?: boolean;
/**
* Indicates whether artifact is retained by release or not.
*/
isRetained?: 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 {
artifactTriggerConfiguration?: ArtifactTriggerConfiguration;
artifactType?: string;
artifactTypeStreamMapping?: {
[key: string]: string;
};
browsableArtifactTypeMapping?: {
[key: string]: string;
};
dataSourceBindings?: DataSourceBinding[];
displayName?: string;
downloadTaskId?: string;
endpointTypeId?: string;
inputDescriptors?: FormInputInterfaces.InputDescriptor[];
isCommitsTraceabilitySupported?: boolean;
isWorkitemsTraceabilitySupported?: boolean;
name?: string;
taskInputMapping?: {
[key: string]: string;
};
uniqueSourceIdentifier?: string;
}
export interface ArtifactDownloadInputBase {
/**
* Gets or sets the alias of artifact.
*/
alias?: string;
/**
* Gets or sets the name of artifact definition. Valid values are 'Skip', 'Selective', 'All'.
*/
artifactDownloadMode?: string;
/**
* Gets or sets the artifact items of the input.
*/
artifactItems?: string[];
/**
* Gets or sets the type of artifact.
*/
artifactType?: string;
}
export interface ArtifactFilter {
/**
* Gets or sets whether a release should be created on build tagging.
*/
createReleaseOnBuildTagging?: boolean;
/**
* Gets or sets the branch for the filter.
*/
sourceBranch?: string;
/**
* Gets or sets the regex based tag filter.
*/
tagFilter?: TagFilter;
/**
* Gets or sets the list of tags for the filter.
*/
tags?: string[];
/**
* Gets or sets whether filter should default to build definition branch.
*/
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 {
/**
* Gets or sets the id of artifact provider.
*/
id?: number;
/**
* Gets or sets the name of artifact provider.
*/
name?: string;
/**
* Gets or sets the link of artifact provider.
*/
sourceUri?: string;
/**
* Gets or sets the version of artifact provider.
*/
version?: string;
}
export interface ArtifactsDownloadInput {
downloadInputs?: ArtifactDownloadInputBase[];
}
export interface ArtifactSourceId {
/**
* Gets or sets the artifact type of artifact source.
*/
artifactTypeId?: string;
/**
* Gets or sets the list of sourceIdInput of artifact source.
*/
sourceIdInputs?: SourceIdInput[];
}
export interface ArtifactSourceIdsQueryResult {
/**
* Gets or sets the list of artifactsourceIds.
*/
artifactSourceIds?: ArtifactSourceId[];
}
export interface ArtifactSourceReference {
/**
* ID of the artifact source.
*/
id?: string;
/**
* Name of the artifact source.
*/
name?: string;
}
export interface ArtifactSourceTrigger extends ReleaseTriggerBase {
/**
* Artifact source alias for Artifact Source trigger type
*/
artifactAlias?: string;
triggerConditions?: ArtifactFilter[];
}
export interface ArtifactTriggerConfiguration {
/**
* Gets or sets the whether trigger is supported or not.
*/
isTriggerSupported?: boolean;
/**
* Gets or sets the whether trigger is supported only on hosted environment.
*/
isTriggerSupportedOnlyInHosted?: boolean;
/**
* Gets or sets the whether webhook is supported at server level.
*/
isWebhookSupportedAtServerLevel?: boolean;
/**
* Gets or sets the payload hash header name for the artifact trigger configuration.
*/
payloadHashHeaderName?: string;
/**
* Gets or sets the resources for artifact trigger configuration.
*/
resources?: {
[key: string]: string;
};
/**
* Gets or sets the webhook payload mapping for artifact trigger configuration.
*/
webhookPayloadMapping?: {
[key: string]: string;
};
}
export interface ArtifactTypeDefinition {
/**
* Gets or sets the artifact trigger configuration of artifact type definition.
*/
artifactTriggerConfiguration?: ArtifactTriggerConfiguration;
/**
* Gets or sets the artifact type of artifact type definition. Valid values are 'Build', 'Package', 'Source' or 'ContainerImage'.
*/
artifactType?: string;
/**
* Gets or sets the display name of artifact type definition.
*/
displayName?: string;
/**
* Gets or sets the endpoint type id of artifact type definition.
*/
endpointTypeId?: string;
/**
* Gets or sets the input descriptors of artifact type definition.
*/
inputDescriptors?: FormInputInterfaces.InputDescriptor[];
/**
* Gets or sets the is commits tracebility supported value of artifact type defintion.
*/
isCommitsTraceabilitySupported?: boolean;
/**
* Gets or sets the is workitems tracebility supported value of artifact type defintion.
*/
isWorkitemsTraceabilitySupported?: boolean;
/**
* Gets or sets the name of artifact type definition.
*/
name?: string;
/**
* Gets or sets the unique source identifier of artifact type definition.
*/
uniqueSourceIdentifier?: string;
}
export interface ArtifactVersion {
/**
* Gets or sets the alias of artifact.
*/
alias?: string;
/**
* Gets or sets the default version of artifact.
*/
defaultVersion?: BuildVersion;
/**
* Gets or sets the error message encountered during querying of versions for artifact.
*/
errorMessage?: string;
sourceId?: string;
/**
* Gets or sets the list of build versions of artifact.
*/
versions?: BuildVersion[];
}
export interface ArtifactVersionQueryResult {
/**
* Gets or sets the list for artifact versions of artifact version query result.
*/
artifactVersions?: ArtifactVersion[];
}
export declare enum AuditAction {
/**
* Indicates the audit add.
*/
Add = 1,
/**
* Indicates the audit update.
*/
Update = 2,
/**
* Indicates the audit delete.
*/
Delete = 3,
/**
* Indicates the audit undelete.
*/
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 {
/**
* Gets or sets last refreshed time.
*/
lastRefreshedOn?: Date;
/**
* Gets or sets the service endpoint ID.
*/
serviceEndpointId?: string;
/**
* Gets or sets the vault name.
*/
vault?: string;
}
export interface AzureKeyVaultVariableValue extends VariableValue {
/**
* Gets or sets the content type of key vault variable value.
*/
contentType?: string;
/**
* Indicates the vault variable value enabled or not.
*/
enabled?: boolean;
/**
* Gets or sets the expire time of key vault variable value.
*/
expires?: Date;
}
export interface BaseDeploymentInput {
/**
* Gets or sets the job condition.
*/
condition?: string;
/**
* Gets or sets the job cancel timeout in minutes for deployment which are cancelled by user for this release environment.
*/
jobCancelTimeoutInMinutes?: number;
/**
* Gets or sets the override inputs.
*/
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 {
}
export interface BuildVersion {
/**
* Gets or sets the commit message for the artifact.
*/
commitMessage?: string;
/**
* Gets or sets the definition id.
*/
definitionId?: string;
/**
* Gets or sets the definition name.
*/
definitionName?: string;
/**
* Gets or sets the build id.
*/
id?: string;
/**
* Gets or sets if the artifact supports multiple definitions.
*/
isMultiDefinitionType?: boolean;
/**
* Gets or sets the build number.
*/
name?: string;
/**
* Gets or sets the source branch for the artifact.
*/
sourceBranch?: string;
/**
* Gets or sets the source pull request version for the artifact.
*/
sourcePullRequestVersion?: SourcePullRequestVersion;
/**
* Gets or sets the repository id for the artifact.
*/
sourceRepositoryId?: string;
/**
* Gets or sets the repository type for the artifact.
*/
sourceRepositoryType?: string;
/**
* Gets or sets the source version for the artifact.
*/
sourceVersion?: string;
}
/**
* Represents a change associated with a build.
*/
export interface Change {
/**
* The author of the change.
*/
author?: VSSInterfaces.IdentityRef;
/**
* The type of source. "TfsVersionControl", "TfsGit", 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.
*/
pushedBy?: VSSInterfaces.IdentityRef;
/**
* The person or process that pushed the change.
*/
pusher?: string;
/**
* A timestamp for the change.
*/
timestamp?: Date;
}
export interface CheckConfigurationReference {
/**
* Check configuration Id of generated gate.
*/
id?: number;
/**
* Name of the resource for which gate was generated.
*/
resourceName?: string;
/**
* Type of the resource for which the gate was generated.
*/
resourceType?: string;
/**
* Version of the check configuration gate was generated with.
*/
version?: number;
}
export interface CodeRepositoryReference {
/**
* Gets and sets the repository references.
*/
repositoryReference?: {
[key: string]: ReleaseManagementInputValue;
};
/**
* It can have value as ‘GitHub’, ‘Vsts’.
*/
systemType?: PullRequestSystemType;
}
export interface ComplianceSettings {
/**
* Scan the release definition for secrets
*/
checkForCredentialsAndOtherSecrets?: boolean;
}
export interface Condition {
/**
* Gets or sets the condition type.
*/
conditionType?: ConditionType;
/**
* Gets or sets the name of the condition. e.g. 'ReleaseStarted'.
*/
name?: string;
/**
* The release condition result.
*/
result?: boolean;
/**
* 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 and sets if a variable can be overridden at deployment time or not.
*/
allowOverride?: boolean;
/**
* Gets or sets as variable is secret or not.
*/
isSecret?: boolean;
/**
* Gets and sets value of the configuration variable.
*/
value?: string;
}
export interface Consumer {
/**
* ID of the consumer.
*/
consumerId?: number;
/**
* Name of the consumer.
*/
consumerName?: string;
}
export interface ContainerImageTrigger extends ReleaseTriggerBase {
/**
* Alias of the trigger.
*/
alias?: string;
/**
* List tag filters applied while trigger.
*/
tagFilters?: TagFilter[];
}
export interface ContinuousDeploymentTriggerIssue extends AutoTriggerIssue {
/**
* Artifact type.
*/
artifactType?: string;
/**
* ArtifactVersion ID.
*/
artifactVersionId?: string;
/**
* Artifact source ID.
*/
sourceId?: string;
}
export interface ControlOptions {
/**
* Always run the job.
*/
alwaysRun?: boolean;
/**
* Indicates whether to continue job on error or not.
*/
continueOnError?: boolean;
/**
* Indicates the job enabled or not.
*/
enabled?: boolean;
}
export interface CustomArtifactDownloadInput extends ArtifactDownloadInputBase {
}
export interface DataSourceBinding {
/**
* Pagination format supported by this data source(ContinuationToken/SkipTop).
*/
callbackContextTemplate?: string;
/**
* Subsequent calls needed?
*/
callBackRequiredTemplate?: string;
/**
* Name of the datasource.
*/
dataSourceName?: string;
/**
* Endpoint ID of the datasource.
*/
endpointId?: string;
/**
* Endpoint URL of the datasource.
*/
endpointUrl?: string;
/**
* Defines the initial value of the query params
*/
initialContextTemplate?: string;
/**
* Parameters of the datasource.
*/
parameters?: {
[key: string]: string;
};
/**
* Gets or sets http request body
*/
requestContent?: string;
/**
* Gets or sets http request verb
*/
requestVerb?: string;
/**
* Result selector applied on output of datasource result, for example jsonpath:$.value[?(@.properties.isEnabled == true)].
*/
resultSelector?: string;
/**
* Format of the return results, for example. { "Value" : "{{{id}}}", "DisplayValue" : "{{{name}}}" }.
*/
resultTemplate?: string;
/**
* Target of the datasource.
*/
target?: string;
}
export interface DefinitionEnvironmentReference {
/**
* Definition environment ID.
*/
definitionEnvironmentId?: number;
/**
* Definition environment name.
*/
definitionEnvironmentName?: string;
/**
* ReleaseDefinition ID.
*/
releaseDefinitionId?: number;
/**
* ReleaseDefinition name.
*/
releaseDefinitionName?: string;
}
export interface Demand {
/**
* Gets and sets the name of demand.
*/
name?: string;
/**
* Gets and sets the value of demand.
*/
value?: 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 or sets project reference.
*/
projectReference?: ProjectReference;
/**
* 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 extends DeploymentEvent {
approval?: ReleaseApproval;
project?: ProjectReference;
release?: Release;
}
export interface DeploymentApprovalPendingEvent extends DeploymentEvent {
approval?: ReleaseApproval;
approvalOptions?: ApprovalOptions;
completedApprovals?: ReleaseApproval[];
data?: {
[key: string]: any;
};
deployment?: Deployment;
isMultipleRankApproval?: boolean;
pendingApprovals?: ReleaseApproval[];
project?: ProjectReference;
release?: Release;
}
export interface DeploymentAttempt {
/**
* Deployment attempt.
*/
attempt?: number;
/**
* ID of the deployment.
*/
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 of deployment.
*/
id?: number;
/**
* All the issues related to the deployment.
*/
issues?: Issue[];
job?: ReleaseTask;
/**
* Identity who last modified this deployment.
*/
lastModifiedBy?: VSSInterfaces.IdentityRef;
/**
* Time when this deployment last modified.
*/
lastModifiedOn?: Date;
/**
* Deployment operation status.
*/
operationStatus?: DeploymentOperationStatus;
/**
* Post deployment gates that executed in this deployment.
*/
postDeploymentGates?: ReleaseGates;
/**
* Pre deployment gates that executed in this deployment.
*/
preDeploymentGates?: ReleaseGates;
/**
* When this deployment queued on.
*/
queuedOn?: Date;
/**
* Reason for the deployment.
*/
reason?: DeploymentReason;
/**
* List of release deployphases executed in this deployment.
*/
releaseDeployPhases?: ReleaseDeployPhase[];
/**
* Identity who requested this deployment.
*/
requestedBy?: VSSInterfaces.IdentityRef;
/**
* Identity for this deployment requested.
*/
requestedFor?: VSSInterfaces.IdentityRef;
runPlanId?: string;
/**
* status of the deployment.
*/
status?: DeploymentStatus;
tasks?: ReleaseTask[];
}
export interface DeploymentAuthorizationInfo {
/**
* Authorization header type, typically either RevalidateApproverIdentity or OnBehalfOf.
*/
authorizationHeaderFor?: AuthorizationHeaderFor;
/**
* List of resources.
*/
resources?: string[];
/**
* ID of the tenant.
*/
tenantId?: string;
/**
* Access token key.
*/
vstsAccessTokenKey?: string;
}
export declare enum DeploymentAuthorizationOwner {
Automatic = 0,
DeploymentSubmitter = 1,
FirstPreDeploymentApprover = 2
}
export interface DeploymentCompletedEvent extends DeploymentEvent {
comment?: string;
data?: {
[key: string]: any;
};
deployment?: Deployment;
environment?: ReleaseEnvironment;
project?: ProjectReference;
}
export interface DeploymentEvent extends ReleaseEvent {
attemptId?: number;
stageName?: string;
}
export declare enum DeploymentExpands {
All = 0,
DeploymentOnly = 1,
Approvals = 2,
Artifacts = 4
}
export interface DeploymentInput extends BaseDeploymentInput {
/**
* Artifacts that downloaded during job execution.
*/
artifactsDownloadInput?: ArtifactsDownloadInput;
/**
* List demands that needs to meet to execute the job.
*/
demands?: Demand[];
/**
* Indicates whether to include access token in deployment job or not.
*/
enableAccessToken?: boolean;
/**
* Id of the pool on which job get executed.
*/
queueId?: number;
/**
* Indicates whether artifacts downloaded while job execution or not.
*/
skipArtifactsDownload?: boolean;
}
export interface DeploymentJob {
/**
* Parent task of all executed tasks.
*/
job?: ReleaseTask;
/**
* List of executed tasks with in job.
*/
tasks?: ReleaseTask[];
}
export interface DeploymentManualInterventionPendingEvent {
approval?: ReleaseApproval;
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 in progress.
*/
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 {
/**
* Query deployments based specified artifact source id.
*/
artifactSourceId?: string;
/**
* Query deployments based specified artifact type id.
*/
artifactTypeId?: string;
/**
* Query deployments based specified artifact versions.
*/
artifactVersions?: string[];
/**
* Query deployments number of deployments per environment.
*/
deploymentsPerEnvironment?: number;
/**
* Query deployment based on deployment status.
*/
deploymentStatus?: DeploymentStatus;
/**
* Query deployments of specified environments.
*/
environments?: DefinitionEnvironmentReference[];
/**
* Query deployments based specified expands.
*/
expands?: DeploymentExpands;
/**
* Specify deleted deployments should return or not.
*/
isDeleted?: boolean;
latestDeploymentsOnly?: boolean;
maxDeploymentsPerEnvironment?: number;
maxModifiedTime?: Date;
minModifiedTime?: Date;
/**
* Query deployment based on deployment operation status.
*/
operationStatus?: DeploymentOperationStatus;
queryOrder?: ReleaseQueryOrder;
/**
* Query deployments based query type.
*/
queryType?: DeploymentsQueryType;
/**
* Query deployments based specified source branch.
*/
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,
/**
* The deployment reason is RedeployTrigger.
*/
RedeployTrigger = 8
}
export declare enum DeploymentsQueryType {
Regular = 1,
FailingSince = 2
}
export interface DeploymentStartedEvent extends DeploymentEvent {
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 in progress.
*/
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 {
/**
* Gets and sets the name of deploy phase.
*/
name?: string;
/**
* Indicates the deploy phase type.
*/
phaseType?: DeployPhaseTypes;
/**
* Gets and sets the rank of deploy phase.
*/
rank?: number;
/**
* Gets and sets the reference name of deploy phase.
*/
refName?: string;
/**
* Gets and sets the workflow tasks for the deploy phase.
*/
workflowTasks?: WorkflowTask[];
}
export declare enum DeployPhaseStatus {
/**
* Phase status not set.
*/
Undefined = 0,
/**
* Phase execution not started.
*/
NotStarted = 1,
/**
* Phase execution in progress.
*/
InProgress = 2,
/**
* Phase execution partially succeeded.
*/
PartiallySucceeded = 4,
/**
* Phase execution succeeded.
*/
Succeeded = 8,
/**
* Phase execution failed.
*/
Failed = 16,
/**
* Phase execution canceled.
*/
Canceled = 32,
/**
* Phase execution skipped.
*/
Skipped = 64,
/**
* Phase is in cancelling state.
*/
Cancelling = 128
}
export declare enum DeployPhaseTypes {
/**
* Phase type not defined. Don't use this.
*/
Undefined = 0,
/**
* Phase type which contains tasks executed on agent.
*/
AgentBasedDeployment = 1,
/**
* Phase type which contains tasks executed by server.
*/
RunOnServer = 2,
/**
* Phase type which contains tasks executed on deployment group machines.
*/
MachineGroupBasedDeployment = 4,
/**
* Phase type which contains tasks which acts as Gates for the deployment to go forward.
*/
DeploymentGates = 8
}
export interface EmailRecipients {
/**
* List of email addresses.
*/
emailAddresses?: string[];
/**
* List of TFS IDs guids.
*/
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 {
/**
* Gets and sets as the auto link workitems or not.
*/
autoLinkWorkItems?: boolean;
/**
* Gets and sets as the badge enabled or not.
*/
badgeEnabled?: boolean;
emailNotificationType?: string;
emailRecipients?: string;
enableAccessToken?: boolean;
/**
* Gets and sets as the publish deployment status or not.
*/
publishDeploymentStatus?: boolean;
/**
* Gets and sets as the.pull request deployment enabled or not.
*/
pullRequestDeploymentEnabled?: boolean;
skipArtifactsDownload?: boolean;
timeoutInMinutes?: number;
}
export interface EnvironmentRetentionPolicy {
/**
* Gets and sets the number of days to keep environment.
*/
daysToKeep?: number;
/**
* Gets and sets the number of releases to keep.
*/
releasesToKeep?: number;
/**
* Gets and sets as the build to be retained or not.
*/
retainBuild?: boolean;
}
export declare enum EnvironmentStatus {
/**
* Environment status not set.
*/
Undefined = 0,
/**
* Environment is in not started state.
*/
NotStarted = 1,
/**
* Environment is in progress state.
*/
InProgress = 2,
/**
* Environment is in succeeded state.
*/
Succeeded = 4,
/**
* Environment is in canceled state.
*/
Canceled = 8,
/**
* Environment is in rejected state.
*/
Rejected = 16,
/**
* Environment is in queued state.
*/
Queued = 32,
/**
* Environment is in scheduled state.
*/
Scheduled = 64,
/**
* Environment is in partially succeeded state.
*/
PartiallySucceeded = 128
}
export interface EnvironmentTrigger {
/**
* Definition environment ID on which this trigger applicable.
*/
definitionEnvironmentId?: number;
/**
* ReleaseDefinition ID on which this trigger applicable.
*/
releaseDefinitionId?: number;
/**
* Gets or sets the trigger content.
*/
triggerContent?: string;
/**
* Gets or sets the trigger type.
*/
triggerType?: EnvironmentTriggerType;
}
export interface EnvironmentTriggerContent {
/**
* Gets or sets action.
*/
action?: string;
/**
* Gets or sets list of event types.
*/
eventTypes?: string[];
}
export declare enum EnvironmentTriggerType {
/**
* Environment trigger type undefined.
*/
Undefined = 0,
/**
* Environment trigger type is deployment group redeploy.
*/
DeploymentGroupRedeploy = 1,
/**
* Environment trigger type is Rollback.
*/
RollbackRedeploy = 2
}
export interface ExecutionInput {
/**
* Parallel execution type, for example MultiConfiguration or MultiMachine.
*/
parallelExecutionType?: ParallelExecutionTypes;
}
/**
* Class to represent favorite entry.
*/
export interface FavoriteItem {
/**
* Application specific data for the entry.
*/
data?: string;
/**
* Unique Id of 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 {
/**
* Identity who created this folder.
*/
createdBy?: VSSInterfaces.IdentityRef;
/**
* Time when this folder created.
*/
createdOn?: Date;
/**
* Description of the folder.
*/
description?: string;
/**
* Identity who last changed this folder.
*/
lastChangedBy?: VSSInterfaces.IdentityRef;
/**
* Time when this folder last changed.
*/
lastChangedDate?: Date;
/**
* path of the folder.
*/
path?: string;
}
/**
* Specifies the desired ordering of folders.
*/
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 interface GatesDeploymentInput extends BaseDeploymentInput {
/**
* Gates minimum success duration.
*/
minimumSuccessDuration?: number;
/**
* Gates sampling interval.
*/
samplingInterval?: number;
/**
* Gates stabilization time.
*/
stabilizationTime?: number;
}
export interface GatesDeployPhase extends DeployPhase {
/**
* Gets and sets the gate job input.
*/
deploymentInput?: GatesDeploymentInput;
}
export declare enum GateStatus {
/**
* The gate does not have the status set.
*/
None = 0,
/**
* The gate is in pending state.
*/
Pending = 1,
/**
* The gate is currently in progress.
*/
InProgress = 2,
/**
* The gate completed successfully.
*/
Succeeded = 4,
/**
* The gate execution failed.
*/
Failed = 8,
/**
* The gate execution cancelled.
*/
Canceled = 16
}
export interface GateUpdateMetadata {
/**
* Comment.
*/
comment?: string;
/**
* Name of gate to be ignored.
*/
gatesToIgnore?: string[];
}
export interface GitArtifactDownloadInput extends ArtifactDownloadInputBase {
}
export interface GitHubArtifactDownloadInput extends ArtifactDownloadInputBase {
}
export interface IgnoredGate {
/**
* Gets the date on which gate is last ignored.
*/
lastModifiedOn?: Date;
/**
* Name of gate ignored.
*/
name?: string;
}
export interface Issue {
/**
* Issue data.
*/
data?: {
[key: string]: string;
};
/**
* Issue type, for example error, warning or info.
*/
issueType?: string;
/**
* Issue message.
*/
message?: string;
}
export declare enum IssueSource {
None = 0,
User = 1,
System = 2
}
export interface JenkinsArtifactDownloadInput extends ArtifactDownloadInputBase {
}
export interface MachineGroupBasedDeployPhase extends DeployPhase {
/**
* Gets and sets the deployment group job input
*/
deploymentInput?: MachineGroupDeploymentInput;
}
export interface MachineGroupDeploymentInput extends DeploymentInput {
/**
* Deployment group health option.
*/
deploymentHealthOption?: string;
/**
* Minimum percentage of the targets guaranteed to be healthy.
*/
healthPercent?: number;
/**
* Deployment target tag filter.
*/
tags?: string[];
}
export interface MailMessage {
/**
* Body of mail.
*/
body?: string;
/**
* Mail CC recipients.
*/
cC?: EmailRecipients;
/**
* Reply to.
*/
inReplyTo?: string;
/**
* Message ID of the mail.
*/
messageId?: string;
/**
* Data when should be replied to mail.
*/
replyBy?: Date;
/**
* Reply to Email recipients.
*/
replyTo?: EmailRecipients;
/**
* List of mail section types.
*/
sections?: MailSectionType[];
/**
* Mail sender type.
*/
senderType?: SenderType;
/**
* Subject of the mail.
*/
subject?: string;
/**
* Mail To recipients.
*/
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 of the Metric.
*/
name?: string;
/**
* Value of the Metric.
*/
value?: number;
}
export interface MultiConfigInput extends ParallelExecutionInputBase {
/**
* Multipliers for parallel execution of deployment, for example x86,x64.
*/
multipliers?: string;
}
export interface MultiMachineInput extends ParallelExecutionInputBase {
}
export interface OrgPipelineReleaseSettings {
/**
* Defines whether user can manage pipeline settings.
*/
hasManagePipelinePoliciesPermission?: boolean;
/**
* EnforceJobAuthScope setting at organisaion level. If enabled, scope of access for all release pipelines in the organisation reduces to the current project.
*/
orgEnforceJobAuthScope?: boolean;
}
export interface OrgPipelineReleaseSettingsUpdateParameters {
/**
* EnforceJobAuthScope setting at organisaion level. If enabled, scope of access for all release pipelines in the organisation reduces to the current project.
*/
orgEnforceJobAuthScope?: boolean;
}
export interface PackageTrigger extends ReleaseTriggerBase {
/**
* Package trigger alias.
*/
alias?: string;
}
export interface ParallelExecutionInputBase extends ExecutionInput {
/**
* Indicate whether continue execution of deployment on error or not.
*/
continueOnError?: boolean;
/**
* Maximum number of agents used while parallel execution.
*/
maxNumberOfAgents?: number;
}
export declare enum ParallelExecutionTypes {
None = 0,
MultiConfiguration = 1,
MultiMachine = 2
}
export interface PipelineProcess {
/**
* Pipeline process type.
*/
type?: PipelineProcessTypes;
}
export declare enum PipelineProcessTypes {
Designer = 1,
Yaml = 2
}
export interface ProjectPipelineReleaseSettings {
/**
* EnforceJobAuthScope setting at project level. If enabled, scope of access for all release pipelines reduces to the current project.
*/
enforceJobAuthScope?: boolean;
/**
* Defines whether user can manage pipeline settings.
*/
hasManageSettingsPermission?: boolean;
/**
* EnforceJobAuthScope setting at organisaion level. If enabled, scope of access for all release pipelines in the organisation reduces to the current project.
*/
orgEnforceJobAuthScope?: boolean;
/**
* Defines whether project is public.
*/
publicProject?: boolean;
}
export interface ProjectPipelineReleaseSettingsUpdateParameters {
/**
* EnforceJobAuthScope setting at project level. If enabled, scope of access for all release pipelines reduces to the current project.
*/
enforceJobAuthScope?: boolean;
}
export interface ProjectReference {
/**
* Gets the unique identifier of this field.
*/
id?: string;
/**
* Gets name of project.
*/
name?: string;
}
export interface PropertySelector {
/**
* List of properties.
*/
properties?: string[];
/**
* Property selector type.
*/
selectorType?: PropertySelectorType;
}
export declare enum PropertySelectorType {
/**
* Include in property selector.
*/
Inclusion = 0,
/**
* Exclude in property selector.
*/
Exclusion = 1
}
export interface PullRequestConfiguration {
/**
* Code repository reference.
*/
codeRepositoryReference?: CodeRepositoryReference;
/**
* In case of Source based artifacts, Code reference will be present in Artifact details.
*/
useArtifactReference?: boolean;
}
export interface PullRequestFilter {
/**
* List of tags.
*/
tags?: string[];
/**
* Target branch of pull request.
*/
targetBranch?: string;
}
export declare enum PullRequestSystemType {
None = 0,
TfsGit = 1,
GitHub = 2
}
export interface PullRequestTrigger extends ReleaseTriggerBase {
/**
* Artifact alias trigger is linked to.
*/
artifactAlias?: string;
/**
* Code reference details of pull request.
*/
pullRequestConfiguration?: PullRequestConfiguration;
/**
* Policy name using which status will be published to pull request.
*/
statusPolicyName?: string;
/**
* List of filters applied while trigger.
*/
triggerConditions?: PullRequestFilter[];
}
export interface QueuedReleaseData {
/**
* Project ID of the release.
*/
projectId?: string;
/**
* Release queue position.
*/
queuePosition?: number;
/**
* Queued release ID.
*/
releaseId?: number;
}
export i