vso-node-api
Version:
Node client for Visual Studio Online/TFS REST APIs
1,045 lines • 116 kB
JavaScript
"use strict";
/*
* ---------------------------------------------------------
* Copyright(C) Microsoft Corporation. All rights reserved.
* ---------------------------------------------------------
*
* ---------------------------------------------------------
* Generated file, DO NOT EDIT
* ---------------------------------------------------------
*/
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
Object.defineProperty(exports, "__esModule", { value: true });
const basem = require("./ClientApiBases");
const ReleaseInterfaces = require("./interfaces/ReleaseInterfaces");
class ReleaseApi extends basem.ClientApiBase {
constructor(baseUrl, handlers, options) {
super(baseUrl, handlers, 'node-Release-api', options);
}
/**
* Returns the artifact details that automation agent requires
*
* @param {string} project - Project ID or project name
* @param {number} releaseId
*/
getAgentArtifactDefinitions(project, releaseId) {
return __awaiter(this, void 0, void 0, function* () {
return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
let routeValues = {
project: project,
releaseId: releaseId
};
try {
let verData = yield this.vsoClient.getVersioningData("4.1-preview.1", "Release", "f2571c27-bf50-4938-b396-32d109ddef26", routeValues);
let url = verData.requestUrl;
let options = this.createRequestOptions('application/json', verData.apiVersion);
let res;
res = yield this.rest.get(url, options);
let ret = this.formatResponse(res.result, ReleaseInterfaces.TypeInfo.AgentArtifactDefinition, true);
resolve(ret);
}
catch (err) {
reject(err);
}
}));
});
}
/**
* Get a list of approvals
*
* @param {string} project - Project ID or project name
* @param {string} assignedToFilter - Approvals assigned to this user.
* @param {ReleaseInterfaces.ApprovalStatus} statusFilter - Approvals with this status. Default is 'pending'.
* @param {number[]} releaseIdsFilter - Approvals for release id(s) mentioned in the filter. Multiple releases can be mentioned by separating them with ',' e.g. releaseIdsFilter=1,2,3,4.
* @param {ReleaseInterfaces.ApprovalType} typeFilter - Approval with this type.
* @param {number} top - Number of approvals to get. Default is 50.
* @param {number} continuationToken - Gets the approvals after the continuation token provided.
* @param {ReleaseInterfaces.ReleaseQueryOrder} queryOrder - Gets the results in the defined order of created approvals. Default is 'descending'.
* @param {boolean} includeMyGroupApprovals - 'true' to include my group approvals. Default is 'false'.
*/
getApprovals(project, assignedToFilter, statusFilter, releaseIdsFilter, typeFilter, top, continuationToken, queryOrder, includeMyGroupApprovals) {
return __awaiter(this, void 0, void 0, function* () {
return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
let routeValues = {
project: project
};
let queryValues = {
assignedToFilter: assignedToFilter,
statusFilter: statusFilter,
releaseIdsFilter: releaseIdsFilter && releaseIdsFilter.join(","),
typeFilter: typeFilter,
top: top,
continuationToken: continuationToken,
queryOrder: queryOrder,
includeMyGroupApprovals: includeMyGroupApprovals,
};
try {
let verData = yield this.vsoClient.getVersioningData("4.1-preview.3", "Release", "b47c6458-e73b-47cb-a770-4df1e8813a91", routeValues, queryValues);
let url = verData.requestUrl;
let options = this.createRequestOptions('application/json', verData.apiVersion);
let res;
res = yield this.rest.get(url, options);
let ret = this.formatResponse(res.result, ReleaseInterfaces.TypeInfo.ReleaseApproval, true);
resolve(ret);
}
catch (err) {
reject(err);
}
}));
});
}
/**
* Get approval history.
*
* @param {string} project - Project ID or project name
* @param {number} approvalStepId - Id of the approval.
*/
getApprovalHistory(project, approvalStepId) {
return __awaiter(this, void 0, void 0, function* () {
return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
let routeValues = {
project: project,
approvalStepId: approvalStepId
};
try {
let verData = yield this.vsoClient.getVersioningData("4.1-preview.3", "Release", "250c7158-852e-4130-a00f-a0cce9b72d05", routeValues);
let url = verData.requestUrl;
let options = this.createRequestOptions('application/json', verData.apiVersion);
let res;
res = yield this.rest.get(url, options);
let ret = this.formatResponse(res.result, ReleaseInterfaces.TypeInfo.ReleaseApproval, false);
resolve(ret);
}
catch (err) {
reject(err);
}
}));
});
}
/**
* Get an approval.
*
* @param {string} project - Project ID or project name
* @param {number} approvalId - Id of the approval.
* @param {boolean} includeHistory - 'true' to include history of the approval. Default is 'false'.
*/
getApproval(project, approvalId, includeHistory) {
return __awaiter(this, void 0, void 0, function* () {
return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
let routeValues = {
project: project,
approvalId: approvalId
};
let queryValues = {
includeHistory: includeHistory,
};
try {
let verData = yield this.vsoClient.getVersioningData("4.1-preview.3", "Release", "9328e074-59fb-465a-89d9-b09c82ee5109", routeValues, queryValues);
let url = verData.requestUrl;
let options = this.createRequestOptions('application/json', verData.apiVersion);
let res;
res = yield this.rest.get(url, options);
let ret = this.formatResponse(res.result, ReleaseInterfaces.TypeInfo.ReleaseApproval, false);
resolve(ret);
}
catch (err) {
reject(err);
}
}));
});
}
/**
* Update status of an approval
*
* @param {ReleaseInterfaces.ReleaseApproval} approval - ReleaseApproval object having status, approver and comments.
* @param {string} project - Project ID or project name
* @param {number} approvalId - Id of the approval.
*/
updateReleaseApproval(approval, project, approvalId) {
return __awaiter(this, void 0, void 0, function* () {
return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
let routeValues = {
project: project,
approvalId: approvalId
};
try {
let verData = yield this.vsoClient.getVersioningData("4.1-preview.3", "Release", "9328e074-59fb-465a-89d9-b09c82ee5109", routeValues);
let url = verData.requestUrl;
let options = this.createRequestOptions('application/json', verData.apiVersion);
let res;
res = yield this.rest.update(url, approval, options);
let ret = this.formatResponse(res.result, ReleaseInterfaces.TypeInfo.ReleaseApproval, false);
resolve(ret);
}
catch (err) {
reject(err);
}
}));
});
}
/**
* @param {ReleaseInterfaces.ReleaseApproval[]} approvals
* @param {string} project - Project ID or project name
*/
updateReleaseApprovals(approvals, project) {
return __awaiter(this, void 0, void 0, function* () {
return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
let routeValues = {
project: project
};
try {
let verData = yield this.vsoClient.getVersioningData("4.1-preview.3", "Release", "c957584a-82aa-4131-8222-6d47f78bfa7a", routeValues);
let url = verData.requestUrl;
let options = this.createRequestOptions('application/json', verData.apiVersion);
let res;
res = yield this.rest.update(url, approvals, options);
let ret = this.formatResponse(res.result, ReleaseInterfaces.TypeInfo.ReleaseApproval, true);
resolve(ret);
}
catch (err) {
reject(err);
}
}));
});
}
/**
* @param {string} project - Project ID or project name
* @param {number} releaseId
* @param {number} environmentId
* @param {number} attemptId
* @param {string} timelineId
* @param {string} recordId
* @param {string} type
* @param {string} name
*/
getTaskAttachmentContent(project, releaseId, environmentId, attemptId, timelineId, recordId, type, name) {
return __awaiter(this, void 0, void 0, function* () {
return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
let routeValues = {
project: project,
releaseId: releaseId,
environmentId: environmentId,
attemptId: attemptId,
timelineId: timelineId,
recordId: recordId,
type: type,
name: name
};
try {
let verData = yield this.vsoClient.getVersioningData("4.1-preview.1", "Release", "c4071f6d-3697-46ca-858e-8b10ff09e52f", routeValues);
let url = verData.requestUrl;
let apiVersion = verData.apiVersion;
let accept = this.createAcceptHeader("application/octet-stream", apiVersion);
resolve((yield this.http.get(url, { "Accept": accept })).message);
}
catch (err) {
reject(err);
}
}));
});
}
/**
* @param {string} project - Project ID or project name
* @param {number} releaseId
* @param {number} environmentId
* @param {number} attemptId
* @param {string} timelineId
* @param {string} type
*/
getTaskAttachments(project, releaseId, environmentId, attemptId, timelineId, type) {
return __awaiter(this, void 0, void 0, function* () {
return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
let routeValues = {
project: project,
releaseId: releaseId,
environmentId: environmentId,
attemptId: attemptId,
timelineId: timelineId,
type: type
};
try {
let verData = yield this.vsoClient.getVersioningData("4.1-preview.1", "Release", "214111ee-2415-4df2-8ed2-74417f7d61f9", routeValues);
let url = verData.requestUrl;
let options = this.createRequestOptions('application/json', verData.apiVersion);
let res;
res = yield this.rest.get(url, options);
let ret = this.formatResponse(res.result, ReleaseInterfaces.TypeInfo.ReleaseTaskAttachment, true);
resolve(ret);
}
catch (err) {
reject(err);
}
}));
});
}
/**
* @param {string} artifactType
* @param {string} sourceId
* @param {string} artifactVersionId
* @param {string} project - Project ID or project name
*/
getAutoTriggerIssues(artifactType, sourceId, artifactVersionId, project) {
return __awaiter(this, void 0, void 0, function* () {
return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
let routeValues = {
project: project
};
let queryValues = {
artifactType: artifactType,
sourceId: sourceId,
artifactVersionId: artifactVersionId,
};
try {
let verData = yield this.vsoClient.getVersioningData("4.1-preview.1", "Release", "c1a68497-69da-40fb-9423-cab19cfeeca9", routeValues, queryValues);
let url = verData.requestUrl;
let options = this.createRequestOptions('application/json', verData.apiVersion);
let res;
res = yield this.rest.get(url, options);
let ret = this.formatResponse(res.result, ReleaseInterfaces.TypeInfo.AutoTriggerIssue, true);
resolve(ret);
}
catch (err) {
reject(err);
}
}));
});
}
/**
* Gets a badge that indicates the status of the most recent deployment for an environment.
*
* @param {string} projectId - The ID of the Project.
* @param {number} releaseDefinitionId - The ID of the Release Definition.
* @param {number} environmentId - The ID of the Environment.
* @param {string} branchName - The name of the branch.
*/
getDeploymentBadge(projectId, releaseDefinitionId, environmentId, branchName) {
return __awaiter(this, void 0, void 0, function* () {
return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
let routeValues = {
projectId: projectId,
releaseDefinitionId: releaseDefinitionId,
environmentId: environmentId,
branchName: branchName
};
try {
let verData = yield this.vsoClient.getVersioningData("4.1-preview.1", "Release", "1a60a35d-b8c9-45fb-bf67-da0829711147", routeValues);
let url = verData.requestUrl;
let options = this.createRequestOptions('application/json', verData.apiVersion);
let res;
res = yield this.rest.get(url, options);
let ret = this.formatResponse(res.result, null, false);
resolve(ret);
}
catch (err) {
reject(err);
}
}));
});
}
/**
* @param {string} project - Project ID or project name
* @param {number} releaseId
* @param {number} baseReleaseId
* @param {number} top
*/
getReleaseChanges(project, releaseId, baseReleaseId, top) {
return __awaiter(this, void 0, void 0, function* () {
return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
let routeValues = {
project: project,
releaseId: releaseId
};
let queryValues = {
baseReleaseId: baseReleaseId,
'$top': top,
};
try {
let verData = yield this.vsoClient.getVersioningData("4.1-preview.1", "Release", "8dcf9fe9-ca37-4113-8ee1-37928e98407c", routeValues, queryValues);
let url = verData.requestUrl;
let options = this.createRequestOptions('application/json', verData.apiVersion);
let res;
res = yield this.rest.get(url, options);
let ret = this.formatResponse(res.result, ReleaseInterfaces.TypeInfo.Change, true);
resolve(ret);
}
catch (err) {
reject(err);
}
}));
});
}
/**
* @param {string} project - Project ID or project name
* @param {string} taskGroupId
* @param {string[]} propertyFilters
*/
getDefinitionEnvironments(project, taskGroupId, propertyFilters) {
return __awaiter(this, void 0, void 0, function* () {
return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
let routeValues = {
project: project
};
let queryValues = {
taskGroupId: taskGroupId,
propertyFilters: propertyFilters && propertyFilters.join(","),
};
try {
let verData = yield this.vsoClient.getVersioningData("4.1-preview.1", "Release", "12b5d21a-f54c-430e-a8c1-7515d196890e", routeValues, queryValues);
let url = verData.requestUrl;
let options = this.createRequestOptions('application/json', verData.apiVersion);
let res;
res = yield this.rest.get(url, options);
let ret = this.formatResponse(res.result, null, true);
resolve(ret);
}
catch (err) {
reject(err);
}
}));
});
}
/**
* Create a release definition
*
* @param {ReleaseInterfaces.ReleaseDefinition} releaseDefinition - release definition object to create.
* @param {string} project - Project ID or project name
*/
createReleaseDefinition(releaseDefinition, project) {
return __awaiter(this, void 0, void 0, function* () {
return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
let routeValues = {
project: project
};
try {
let verData = yield this.vsoClient.getVersioningData("4.1-preview.3", "Release", "d8f96f24-8ea7-4cb6-baab-2df8fc515665", routeValues);
let url = verData.requestUrl;
let options = this.createRequestOptions('application/json', verData.apiVersion);
let res;
res = yield this.rest.create(url, releaseDefinition, options);
let ret = this.formatResponse(res.result, ReleaseInterfaces.TypeInfo.ReleaseDefinition, false);
resolve(ret);
}
catch (err) {
reject(err);
}
}));
});
}
/**
* Delete a release definition.
*
* @param {string} project - Project ID or project name
* @param {number} definitionId - Id of the release definition.
* @param {string} comment - Comment for deleting a release definition.
* @param {boolean} forceDelete - 'true' to automatically cancel any in-progress release deployments and proceed with release definition deletion . Default is 'false'.
*/
deleteReleaseDefinition(project, definitionId, comment, forceDelete) {
return __awaiter(this, void 0, void 0, function* () {
return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
let routeValues = {
project: project,
definitionId: definitionId
};
let queryValues = {
comment: comment,
forceDelete: forceDelete,
};
try {
let verData = yield this.vsoClient.getVersioningData("4.1-preview.3", "Release", "d8f96f24-8ea7-4cb6-baab-2df8fc515665", routeValues, queryValues);
let url = verData.requestUrl;
let options = this.createRequestOptions('application/json', verData.apiVersion);
let res;
res = yield this.rest.del(url, options);
let ret = this.formatResponse(res.result, null, false);
resolve(ret);
}
catch (err) {
reject(err);
}
}));
});
}
/**
* Get a release definition.
*
* @param {string} project - Project ID or project name
* @param {number} definitionId - Id of the release definition.
* @param {string[]} propertyFilters - A comma-delimited list of extended properties to retrieve.
*/
getReleaseDefinition(project, definitionId, propertyFilters) {
return __awaiter(this, void 0, void 0, function* () {
return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
let routeValues = {
project: project,
definitionId: definitionId
};
let queryValues = {
propertyFilters: propertyFilters && propertyFilters.join(","),
};
try {
let verData = yield this.vsoClient.getVersioningData("4.1-preview.3", "Release", "d8f96f24-8ea7-4cb6-baab-2df8fc515665", routeValues, queryValues);
let url = verData.requestUrl;
let options = this.createRequestOptions('application/json', verData.apiVersion);
let res;
res = yield this.rest.get(url, options);
let ret = this.formatResponse(res.result, ReleaseInterfaces.TypeInfo.ReleaseDefinition, false);
resolve(ret);
}
catch (err) {
reject(err);
}
}));
});
}
/**
* Get release definition of a given revision.
*
* @param {string} project - Project ID or project name
* @param {number} definitionId - Id of the release definition.
* @param {number} revision - Revision number of the release definition.
*/
getReleaseDefinitionRevision(project, definitionId, revision) {
return __awaiter(this, void 0, void 0, function* () {
return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
let routeValues = {
project: project,
definitionId: definitionId
};
let queryValues = {
revision: revision,
};
try {
let verData = yield this.vsoClient.getVersioningData("4.1-preview.3", "Release", "d8f96f24-8ea7-4cb6-baab-2df8fc515665", routeValues, queryValues);
let url = verData.requestUrl;
let apiVersion = verData.apiVersion;
let accept = this.createAcceptHeader("text/plain", apiVersion);
resolve((yield this.http.get(url, { "Accept": accept })).message);
}
catch (err) {
reject(err);
}
}));
});
}
/**
* Get a list of release definitions.
*
* @param {string} project - Project ID or project name
* @param {string} searchText - Get release definitions with names starting with searchText.
* @param {ReleaseInterfaces.ReleaseDefinitionExpands} expand - The properties that should be expanded in the list of Release definitions.
* @param {string} artifactType - Release definitions with given artifactType will be returned. Values can be Build, Jenkins, GitHub, Nuget, Team Build (external), ExternalTFSBuild, Git, TFVC, ExternalTfsXamlBuild.
* @param {string} artifactSourceId - Release definitions with given artifactSourceId will be returned. e.g. For build it would be {projectGuid}:{BuildDefinitionId}, for Jenkins it would be {JenkinsConnectionId}:{JenkinsDefinitionId}, for TfsOnPrem it would be {TfsOnPremConnectionId}:{ProjectName}:{TfsOnPremDefinitionId}. For third-party artifacts e.g. TeamCity, BitBucket you may refer 'uniqueSourceIdentifier' inside vss-extension.json at https://github.com/Microsoft/vsts-rm-extensions/blob/master/Extensions.
* @param {number} top - Number of release definitions to get.
* @param {string} continuationToken - Gets the release definitions after the continuation token provided.
* @param {ReleaseInterfaces.ReleaseDefinitionQueryOrder} queryOrder - Gets the results in the defined order. Default is 'IdAscending'.
* @param {string} path - Gets the release definitions under the specified path.
* @param {boolean} isExactNameMatch - 'true'to gets the release definitions with exact match as specified in searchText. Default is 'false'.
* @param {string[]} tagFilter - A comma-delimited list of tags. Only release definitions with these tags will be returned.
* @param {string[]} propertyFilters - A comma-delimited list of extended properties to retrieve.
* @param {string[]} definitionIdFilter - A comma-delimited list of release definitions to retrieve.
* @param {boolean} isDeleted - 'true' to get release definitions that has been deleted. Default is 'false'
*/
getReleaseDefinitions(project, searchText, expand, artifactType, artifactSourceId, top, continuationToken, queryOrder, path, isExactNameMatch, tagFilter, propertyFilters, definitionIdFilter, isDeleted) {
return __awaiter(this, void 0, void 0, function* () {
return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
let routeValues = {
project: project
};
let queryValues = {
searchText: searchText,
'$expand': expand,
artifactType: artifactType,
artifactSourceId: artifactSourceId,
'$top': top,
continuationToken: continuationToken,
queryOrder: queryOrder,
path: path,
isExactNameMatch: isExactNameMatch,
tagFilter: tagFilter && tagFilter.join(","),
propertyFilters: propertyFilters && propertyFilters.join(","),
definitionIdFilter: definitionIdFilter && definitionIdFilter.join(","),
isDeleted: isDeleted,
};
try {
let verData = yield this.vsoClient.getVersioningData("4.1-preview.3", "Release", "d8f96f24-8ea7-4cb6-baab-2df8fc515665", routeValues, queryValues);
let url = verData.requestUrl;
let options = this.createRequestOptions('application/json', verData.apiVersion);
let res;
res = yield this.rest.get(url, options);
let ret = this.formatResponse(res.result, ReleaseInterfaces.TypeInfo.ReleaseDefinition, true);
resolve(ret);
}
catch (err) {
reject(err);
}
}));
});
}
/**
* Undelete a release definition.
*
* @param {ReleaseInterfaces.ReleaseDefinitionUndeleteParameter} releaseDefinitionUndeleteParameter - Object for undelete release definition.
* @param {string} project - Project ID or project name
* @param {number} definitionId - Id of the release definition to be undeleted
*/
undeleteReleaseDefinition(releaseDefinitionUndeleteParameter, project, definitionId) {
return __awaiter(this, void 0, void 0, function* () {
return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
let routeValues = {
project: project,
definitionId: definitionId
};
try {
let verData = yield this.vsoClient.getVersioningData("4.1-preview.3", "Release", "d8f96f24-8ea7-4cb6-baab-2df8fc515665", routeValues);
let url = verData.requestUrl;
let options = this.createRequestOptions('application/json', verData.apiVersion);
let res;
res = yield this.rest.update(url, releaseDefinitionUndeleteParameter, options);
let ret = this.formatResponse(res.result, ReleaseInterfaces.TypeInfo.ReleaseDefinition, false);
resolve(ret);
}
catch (err) {
reject(err);
}
}));
});
}
/**
* Update a release definition.
*
* @param {ReleaseInterfaces.ReleaseDefinition} releaseDefinition - Release definition object to update.
* @param {string} project - Project ID or project name
*/
updateReleaseDefinition(releaseDefinition, project) {
return __awaiter(this, void 0, void 0, function* () {
return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
let routeValues = {
project: project
};
try {
let verData = yield this.vsoClient.getVersioningData("4.1-preview.3", "Release", "d8f96f24-8ea7-4cb6-baab-2df8fc515665", routeValues);
let url = verData.requestUrl;
let options = this.createRequestOptions('application/json', verData.apiVersion);
let res;
res = yield this.rest.replace(url, releaseDefinition, options);
let ret = this.formatResponse(res.result, ReleaseInterfaces.TypeInfo.ReleaseDefinition, false);
resolve(ret);
}
catch (err) {
reject(err);
}
}));
});
}
/**
* @param {string} project - Project ID or project name
* @param {number} definitionId
* @param {number} definitionEnvironmentId
* @param {string} createdBy
* @param {Date} minModifiedTime
* @param {Date} maxModifiedTime
* @param {ReleaseInterfaces.DeploymentStatus} deploymentStatus
* @param {ReleaseInterfaces.DeploymentOperationStatus} operationStatus
* @param {boolean} latestAttemptsOnly
* @param {ReleaseInterfaces.ReleaseQueryOrder} queryOrder
* @param {number} top
* @param {number} continuationToken
* @param {string} createdFor
*/
getDeployments(project, definitionId, definitionEnvironmentId, createdBy, minModifiedTime, maxModifiedTime, deploymentStatus, operationStatus, latestAttemptsOnly, queryOrder, top, continuationToken, createdFor) {
return __awaiter(this, void 0, void 0, function* () {
return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
let routeValues = {
project: project
};
let queryValues = {
definitionId: definitionId,
definitionEnvironmentId: definitionEnvironmentId,
createdBy: createdBy,
minModifiedTime: minModifiedTime,
maxModifiedTime: maxModifiedTime,
deploymentStatus: deploymentStatus,
operationStatus: operationStatus,
latestAttemptsOnly: latestAttemptsOnly,
queryOrder: queryOrder,
'$top': top,
continuationToken: continuationToken,
createdFor: createdFor,
};
try {
let verData = yield this.vsoClient.getVersioningData("4.1-preview.2", "Release", "b005ef73-cddc-448e-9ba2-5193bf36b19f", routeValues, queryValues);
let url = verData.requestUrl;
let options = this.createRequestOptions('application/json', verData.apiVersion);
let res;
res = yield this.rest.get(url, options);
let ret = this.formatResponse(res.result, ReleaseInterfaces.TypeInfo.Deployment, true);
resolve(ret);
}
catch (err) {
reject(err);
}
}));
});
}
/**
* @param {ReleaseInterfaces.DeploymentQueryParameters} queryParameters
* @param {string} project - Project ID or project name
*/
getDeploymentsForMultipleEnvironments(queryParameters, project) {
return __awaiter(this, void 0, void 0, function* () {
return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
let routeValues = {
project: project
};
try {
let verData = yield this.vsoClient.getVersioningData("4.1-preview.2", "Release", "b005ef73-cddc-448e-9ba2-5193bf36b19f", routeValues);
let url = verData.requestUrl;
let options = this.createRequestOptions('application/json', verData.apiVersion);
let res;
res = yield this.rest.create(url, queryParameters, options);
let ret = this.formatResponse(res.result, ReleaseInterfaces.TypeInfo.Deployment, true);
resolve(ret);
}
catch (err) {
reject(err);
}
}));
});
}
/**
* @param {string} project - Project ID or project name
* @param {number} releaseId
* @param {number} environmentId
*/
getReleaseEnvironment(project, releaseId, environmentId) {
return __awaiter(this, void 0, void 0, function* () {
return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
let routeValues = {
project: project,
releaseId: releaseId,
environmentId: environmentId
};
try {
let verData = yield this.vsoClient.getVersioningData("4.1-preview.5", "Release", "a7e426b1-03dc-48af-9dfe-c98bac612dcb", routeValues);
let url = verData.requestUrl;
let options = this.createRequestOptions('application/json', verData.apiVersion);
let res;
res = yield this.rest.get(url, options);
let ret = this.formatResponse(res.result, ReleaseInterfaces.TypeInfo.ReleaseEnvironment, false);
resolve(ret);
}
catch (err) {
reject(err);
}
}));
});
}
/**
* Update the status of a release environment
*
* @param {ReleaseInterfaces.ReleaseEnvironmentUpdateMetadata} environmentUpdateData - Environment update meta data.
* @param {string} project - Project ID or project name
* @param {number} releaseId - Id of the release.
* @param {number} environmentId - Id of release environment.
*/
updateReleaseEnvironment(environmentUpdateData, project, releaseId, environmentId) {
return __awaiter(this, void 0, void 0, function* () {
return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
let routeValues = {
project: project,
releaseId: releaseId,
environmentId: environmentId
};
try {
let verData = yield this.vsoClient.getVersioningData("4.1-preview.5", "Release", "a7e426b1-03dc-48af-9dfe-c98bac612dcb", routeValues);
let url = verData.requestUrl;
let options = this.createRequestOptions('application/json', verData.apiVersion);
let res;
res = yield this.rest.update(url, environmentUpdateData, options);
let ret = this.formatResponse(res.result, ReleaseInterfaces.TypeInfo.ReleaseEnvironment, false);
resolve(ret);
}
catch (err) {
reject(err);
}
}));
});
}
/**
* Creates a definition environment template
*
* @param {ReleaseInterfaces.ReleaseDefinitionEnvironmentTemplate} template - Definition environment template to create
* @param {string} project - Project ID or project name
*/
createDefinitionEnvironmentTemplate(template, project) {
return __awaiter(this, void 0, void 0, function* () {
return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
let routeValues = {
project: project
};
try {
let verData = yield this.vsoClient.getVersioningData("4.1-preview.3", "Release", "6b03b696-824e-4479-8eb2-6644a51aba89", routeValues);
let url = verData.requestUrl;
let options = this.createRequestOptions('application/json', verData.apiVersion);
let res;
res = yield this.rest.create(url, template, options);
let ret = this.formatResponse(res.result, ReleaseInterfaces.TypeInfo.ReleaseDefinitionEnvironmentTemplate, false);
resolve(ret);
}
catch (err) {
reject(err);
}
}));
});
}
/**
* Delete a definition environment template
*
* @param {string} project - Project ID or project name
* @param {string} templateId - Id of the definition environment template
*/
deleteDefinitionEnvironmentTemplate(project, templateId) {
return __awaiter(this, void 0, void 0, function* () {
return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
let routeValues = {
project: project
};
let queryValues = {
templateId: templateId,
};
try {
let verData = yield this.vsoClient.getVersioningData("4.1-preview.3", "Release", "6b03b696-824e-4479-8eb2-6644a51aba89", routeValues, queryValues);
let url = verData.requestUrl;
let options = this.createRequestOptions('application/json', verData.apiVersion);
let res;
res = yield this.rest.del(url, options);
let ret = this.formatResponse(res.result, null, false);
resolve(ret);
}
catch (err) {
reject(err);
}
}));
});
}
/**
* Gets a definition environment template
*
* @param {string} project - Project ID or project name
* @param {string} templateId - Id of the definition environment template
*/
getDefinitionEnvironmentTemplate(project, templateId) {
return __awaiter(this, void 0, void 0, function* () {
return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
let routeValues = {
project: project
};
let queryValues = {
templateId: templateId,
};
try {
let verData = yield this.vsoClient.getVersioningData("4.1-preview.3", "Release", "6b03b696-824e-4479-8eb2-6644a51aba89", routeValues, queryValues);
let url = verData.requestUrl;
let options = this.createRequestOptions('application/json', verData.apiVersion);
let res;
res = yield this.rest.get(url, options);
let ret = this.formatResponse(res.result, ReleaseInterfaces.TypeInfo.ReleaseDefinitionEnvironmentTemplate, false);
resolve(ret);
}
catch (err) {
reject(err);
}
}));
});
}
/**
* Gets a list of definition environment templates
*
* @param {string} project - Project ID or project name
* @param {boolean} isDeleted - 'true' to get definition environment templates that have been deleted. Default is 'false'
*/
listDefinitionEnvironmentTemplates(project, isDeleted) {
return __awaiter(this, void 0, void 0, function* () {
return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
let routeValues = {
project: project
};
let queryValues = {
isDeleted: isDeleted,
};
try {
let verData = yield this.vsoClient.getVersioningData("4.1-preview.3", "Release", "6b03b696-824e-4479-8eb2-6644a51aba89", routeValues, queryValues);
let url = verData.requestUrl;
let options = this.createRequestOptions('application/json', verData.apiVersion);
let res;
res = yield this.rest.get(url, options);
let ret = this.formatResponse(res.result, ReleaseInterfaces.TypeInfo.ReleaseDefinitionEnvironmentTemplate, true);
resolve(ret);
}
catch (err) {
reject(err);
}
}));
});
}
/**
* Undelete a release definition environment template.
*
* @param {string} project - Project ID or project name
* @param {string} templateId - Id of the definition environment template to be undeleted
*/
undeleteReleaseDefinitionEnvironmentTemplate(project, templateId) {
return __awaiter(this, void 0, void 0, function* () {
return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
let routeValues = {
project: project
};
let queryValues = {
templateId: templateId,
};
try {
let verData = yield this.vsoClient.getVersioningData("4.1-preview.3", "Release", "6b03b696-824e-4479-8eb2-6644a51aba89", routeValues, queryValues);
let url = verData.requestUrl;
let options = this.createRequestOptions('application/json', verData.apiVersion);
let res;
res = yield this.rest.update(url, options);
let ret = this.formatResponse(res.result, ReleaseInterfaces.TypeInfo.ReleaseDefinitionEnvironmentTemplate, false);
resolve(ret);
}
catch (err) {
reject(err);
}
}));
});
}
/**
* @param {ReleaseInterfaces.FavoriteItem[]} favoriteItems
* @param {string} project - Project ID or project name
* @param {string} scope
* @param {string} identityId
*/
createFavorites(favoriteItems, project, scope, identityId) {
return __awaiter(this, void 0, void 0, function* () {
return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
let routeValues = {
project: project,
scope: scope
};
let queryValues = {
identityId: identityId,
};
try {
let verData = yield this.vsoClient.getVersioningData("4.1-preview.1", "Release", "938f7222-9acb-48fe-b8a3-4eda04597171", routeValues, queryValues);
let url = verData.requestUrl;
let options = this.createRequestOptions('application/json', verData.apiVersion);
let res;
res = yield this.rest.create(url, favoriteItems, options);
let ret = this.formatResponse(res.result, null, true);
resolve(ret);
}
catch (err) {
reject(err);
}
}));
});
}
/**
* @param {string} project - Project ID or project name
* @param {string} scope
* @param {string} identityId
* @param {string} favoriteItemIds
*/
deleteFavorites(project, scope, identityId, favoriteItemIds) {
return __awaiter(this, void 0, void 0, function* () {
return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
let routeValues = {
project: project,
scope: scope
};
let queryValues = {
identityId: identityId,
favoriteItemIds: favoriteItemIds,
};
try {
let verData = yield this.vsoClient.getVersioningData("4.1-preview.1", "Release", "938f7222-9acb-48fe-b8a3-4eda04597171", routeValues, queryValues);
let url = verData.requestUrl;
let options = this.createRequestOptions('application/json', verData.apiVersion);
let res;
res = yield this.rest.del(url, options);
let ret = this.formatResponse(res.result, null, false);
resolve(ret);
}
catch (err) {
reject(err);
}
}));
});
}
/**
* @param {string} project - Project ID or project name
* @param {string} scope
* @param {string} identityId
*/
getFavorites(project, scope, identityId) {
return __awaiter(this, void 0, void 0, function* () {
return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
let routeValues = {
project: project,
scope: scope
};
let queryValues = {
identityId: identityId,
};
try {
let verData = yield this.vsoClient.getVersioningData("4.1-preview.1", "Release", "938f7222-9acb-48fe-b8a3-4eda04597171", routeValues, queryValues);
let url = verData.requestUrl;
let options = this.createRequestOptions('application/json', verData.apiVersion);
let res;
res = yield this.rest.get(url, options);
let ret = this.formatResponse(res.result, null, true);
resolve(ret);
}
catch (err) {
reject(err);
}
}));
});
}
/**
* Creates a new folder
*
* @param {ReleaseInterfaces.Folder} folder
* @param {string} project - Project ID or project name
* @param {string} path
*/
createFolder(folder, project, path) {
return __awaiter(this, void 0, void 0, function* () {
return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
let routeValues = {
project: project,
path: path
};
try {
let verData = yield this.vsoClient.getVersioningData("4.1-preview.1", "Release", "f7ddf76d-ce0c-4d68-94ff-becaec5d9dea", routeValues);
let url = verData.requestUrl;
let options = this.createRequestOptions('application/json', verData.apiVersion);
let res;
res = yield this.rest.create(url, folder, options);
let ret = this.formatResponse(res.result, ReleaseInterfaces.TypeInfo.Folder, false);
resolve(ret);
}
catch (err) {
reject(err);
}
}));
});
}
/**
* Deletes a definition folder for giv