azure-devops-node-api
Version:
Node client for Azure DevOps and TFS REST APIs
1,040 lines • 218 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) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
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) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.TaskAgentApiBase = void 0;
const basem = require("./ClientApiBases");
const TaskAgentInterfaces = require("./interfaces/TaskAgentInterfaces");
class TaskAgentApiBase extends basem.ClientApiBase {
constructor(baseUrl, handlers, options) {
super(baseUrl, handlers, 'node-TaskAgent-api', options);
}
/**
* @param {TaskAgentInterfaces.TaskAgentCloud} agentCloud
*/
addAgentCloud(agentCloud) {
return __awaiter(this, void 0, void 0, function* () {
return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
let routeValues = {};
try {
let verData = yield this.vsoClient.getVersioningData("7.2-preview.1", "distributedtask", "bfa72b3d-0fc6-43fb-932b-a7f6559f93b9", routeValues);
let url = verData.requestUrl;
let options = this.createRequestOptions('application/json', verData.apiVersion);
let res;
res = yield this.rest.create(url, agentCloud, options);
let ret = this.formatResponse(res.result, null, false);
resolve(ret);
}
catch (err) {
reject(err);
}
}));
});
}
/**
* @param {number} agentCloudId
*/
deleteAgentCloud(agentCloudId) {
return __awaiter(this, void 0, void 0, function* () {
return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
let routeValues = {
agentCloudId: agentCloudId
};
try {
let verData = yield this.vsoClient.getVersioningData("7.2-preview.1", "distributedtask", "bfa72b3d-0fc6-43fb-932b-a7f6559f93b9", routeValues);
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 {number} agentCloudId
*/
getAgentCloud(agentCloudId) {
return __awaiter(this, void 0, void 0, function* () {
return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
let routeValues = {
agentCloudId: agentCloudId
};
try {
let verData = yield this.vsoClient.getVersioningData("7.2-preview.1", "distributedtask", "bfa72b3d-0fc6-43fb-932b-a7f6559f93b9", 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);
}
}));
});
}
/**
*/
getAgentClouds() {
return __awaiter(this, void 0, void 0, function* () {
return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
let routeValues = {};
try {
let verData = yield this.vsoClient.getVersioningData("7.2-preview.1", "distributedtask", "bfa72b3d-0fc6-43fb-932b-a7f6559f93b9", 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, true);
resolve(ret);
}
catch (err) {
reject(err);
}
}));
});
}
/**
* @param {TaskAgentInterfaces.TaskAgentCloud} updatedCloud
* @param {number} agentCloudId
*/
updateAgentCloud(updatedCloud, agentCloudId) {
return __awaiter(this, void 0, void 0, function* () {
return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
let routeValues = {
agentCloudId: agentCloudId
};
try {
let verData = yield this.vsoClient.getVersioningData("7.2-preview.1", "distributedtask", "bfa72b3d-0fc6-43fb-932b-a7f6559f93b9", routeValues);
let url = verData.requestUrl;
let options = this.createRequestOptions('application/json', verData.apiVersion);
let res;
res = yield this.rest.update(url, updatedCloud, options);
let ret = this.formatResponse(res.result, null, false);
resolve(ret);
}
catch (err) {
reject(err);
}
}));
});
}
/**
* Get agent cloud types.
*
*/
getAgentCloudTypes() {
return __awaiter(this, void 0, void 0, function* () {
return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
let routeValues = {};
try {
let verData = yield this.vsoClient.getVersioningData("7.2-preview.1", "distributedtask", "5932e193-f376-469d-9c3e-e5588ce12cb5", 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, TaskAgentInterfaces.TypeInfo.TaskAgentCloudType, true);
resolve(ret);
}
catch (err) {
reject(err);
}
}));
});
}
/**
* @param {string} project - Project ID or project name
* @param {number} queueId
* @param {number} top
* @param {string} continuationToken
*/
getAgentRequestsForQueue(project, queueId, top, continuationToken) {
return __awaiter(this, void 0, void 0, function* () {
if (top == null) {
throw new TypeError('top can not be null or undefined');
}
return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
let routeValues = {
project: project,
queueId: queueId
};
let queryValues = {
'$top': top,
continuationToken: continuationToken,
};
try {
let verData = yield this.vsoClient.getVersioningData("7.2-preview.1", "distributedtask", "f5f81ffb-f396-498d-85b1-5ada145e648a", 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, TaskAgentInterfaces.TypeInfo.TaskAgentJobRequest, true);
resolve(ret);
}
catch (err) {
reject(err);
}
}));
});
}
/**
* @param {TaskAgentInterfaces.TaskAgentJobRequest} request
* @param {string} project - Project ID or project name
* @param {number} queueId
*/
queueAgentRequest(request, project, queueId) {
return __awaiter(this, void 0, void 0, function* () {
return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
let routeValues = {
project: project,
queueId: queueId
};
try {
let verData = yield this.vsoClient.getVersioningData("7.2-preview.1", "distributedtask", "f5f81ffb-f396-498d-85b1-5ada145e648a", routeValues);
let url = verData.requestUrl;
let options = this.createRequestOptions('application/json', verData.apiVersion);
let res;
res = yield this.rest.create(url, request, options);
let ret = this.formatResponse(res.result, TaskAgentInterfaces.TypeInfo.TaskAgentJobRequest, false);
resolve(ret);
}
catch (err) {
reject(err);
}
}));
});
}
/**
* Adds an agent to a pool. You probably don't want to call this endpoint directly. Instead, [configure an agent](https://docs.microsoft.com/azure/devops/pipelines/agents/agents) using the agent download package.
*
* @param {TaskAgentInterfaces.TaskAgent} agent - Details about the agent being added
* @param {number} poolId - The agent pool in which to add the agent
*/
addAgent(agent, poolId) {
return __awaiter(this, void 0, void 0, function* () {
return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
let routeValues = {
poolId: poolId
};
try {
let verData = yield this.vsoClient.getVersioningData("7.2-preview.1", "distributedtask", "e298ef32-5878-4cab-993c-043836571f42", routeValues);
let url = verData.requestUrl;
let options = this.createRequestOptions('application/json', verData.apiVersion);
let res;
res = yield this.rest.create(url, agent, options);
let ret = this.formatResponse(res.result, TaskAgentInterfaces.TypeInfo.TaskAgent, false);
resolve(ret);
}
catch (err) {
reject(err);
}
}));
});
}
/**
* Delete an agent. You probably don't want to call this endpoint directly. Instead, [use the agent configuration script](https://docs.microsoft.com/azure/devops/pipelines/agents/agents) to remove an agent from your organization.
*
* @param {number} poolId - The pool ID to remove the agent from
* @param {number} agentId - The agent ID to remove
*/
deleteAgent(poolId, agentId) {
return __awaiter(this, void 0, void 0, function* () {
return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
let routeValues = {
poolId: poolId,
agentId: agentId
};
try {
let verData = yield this.vsoClient.getVersioningData("7.2-preview.1", "distributedtask", "e298ef32-5878-4cab-993c-043836571f42", routeValues);
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 information about an agent.
*
* @param {number} poolId - The agent pool containing the agent
* @param {number} agentId - The agent ID to get information about
* @param {boolean} includeCapabilities - Whether to include the agent's capabilities in the response
* @param {boolean} includeAssignedRequest - Whether to include details about the agent's current work
* @param {boolean} includeLastCompletedRequest - Whether to include details about the agents' most recent completed work
* @param {string[]} propertyFilters - Filter which custom properties will be returned
*/
getAgent(poolId, agentId, includeCapabilities, includeAssignedRequest, includeLastCompletedRequest, propertyFilters) {
return __awaiter(this, void 0, void 0, function* () {
return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
let routeValues = {
poolId: poolId,
agentId: agentId
};
let queryValues = {
includeCapabilities: includeCapabilities,
includeAssignedRequest: includeAssignedRequest,
includeLastCompletedRequest: includeLastCompletedRequest,
propertyFilters: propertyFilters && propertyFilters.join(","),
};
try {
let verData = yield this.vsoClient.getVersioningData("7.2-preview.1", "distributedtask", "e298ef32-5878-4cab-993c-043836571f42", 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, TaskAgentInterfaces.TypeInfo.TaskAgent, false);
resolve(ret);
}
catch (err) {
reject(err);
}
}));
});
}
/**
* Get a list of agents.
*
* @param {number} poolId - The agent pool containing the agents
* @param {string} agentName - Filter on agent name
* @param {boolean} includeCapabilities - Whether to include the agents' capabilities in the response
* @param {boolean} includeAssignedRequest - Whether to include details about the agents' current work
* @param {boolean} includeLastCompletedRequest - Whether to include details about the agents' most recent completed work
* @param {string[]} propertyFilters - Filter which custom properties will be returned
* @param {string[]} demands - Filter by demands the agents can satisfy
*/
getAgents(poolId, agentName, includeCapabilities, includeAssignedRequest, includeLastCompletedRequest, propertyFilters, demands) {
return __awaiter(this, void 0, void 0, function* () {
return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
let routeValues = {
poolId: poolId
};
let queryValues = {
agentName: agentName,
includeCapabilities: includeCapabilities,
includeAssignedRequest: includeAssignedRequest,
includeLastCompletedRequest: includeLastCompletedRequest,
propertyFilters: propertyFilters && propertyFilters.join(","),
demands: demands && demands.join(","),
};
try {
let verData = yield this.vsoClient.getVersioningData("7.2-preview.1", "distributedtask", "e298ef32-5878-4cab-993c-043836571f42", 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, TaskAgentInterfaces.TypeInfo.TaskAgent, true);
resolve(ret);
}
catch (err) {
reject(err);
}
}));
});
}
/**
* Replace an agent. You probably don't want to call this endpoint directly. Instead, [use the agent configuration script](https://docs.microsoft.com/azure/devops/pipelines/agents/agents) to remove and reconfigure an agent from your organization.
*
* @param {TaskAgentInterfaces.TaskAgent} agent - Updated details about the replacing agent
* @param {number} poolId - The agent pool to use
* @param {number} agentId - The agent to replace
*/
replaceAgent(agent, poolId, agentId) {
return __awaiter(this, void 0, void 0, function* () {
return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
let routeValues = {
poolId: poolId,
agentId: agentId
};
try {
let verData = yield this.vsoClient.getVersioningData("7.2-preview.1", "distributedtask", "e298ef32-5878-4cab-993c-043836571f42", routeValues);
let url = verData.requestUrl;
let options = this.createRequestOptions('application/json', verData.apiVersion);
let res;
res = yield this.rest.replace(url, agent, options);
let ret = this.formatResponse(res.result, TaskAgentInterfaces.TypeInfo.TaskAgent, false);
resolve(ret);
}
catch (err) {
reject(err);
}
}));
});
}
/**
* Update agent details.
*
* @param {TaskAgentInterfaces.TaskAgent} agent - Updated details about the agent
* @param {number} poolId - The agent pool to use
* @param {number} agentId - The agent to update
*/
updateAgent(agent, poolId, agentId) {
return __awaiter(this, void 0, void 0, function* () {
return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
let routeValues = {
poolId: poolId,
agentId: agentId
};
try {
let verData = yield this.vsoClient.getVersioningData("7.2-preview.1", "distributedtask", "e298ef32-5878-4cab-993c-043836571f42", routeValues);
let url = verData.requestUrl;
let options = this.createRequestOptions('application/json', verData.apiVersion);
let res;
res = yield this.rest.update(url, agent, options);
let ret = this.formatResponse(res.result, TaskAgentInterfaces.TypeInfo.TaskAgent, false);
resolve(ret);
}
catch (err) {
reject(err);
}
}));
});
}
/**
* Returns list of azure subscriptions
*
*/
getAzureManagementGroups() {
return __awaiter(this, void 0, void 0, function* () {
return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
let routeValues = {};
try {
let verData = yield this.vsoClient.getVersioningData("7.2-preview.1", "distributedtask", "39fe3bf2-7ee0-4198-a469-4a29929afa9c", 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);
}
}));
});
}
/**
* Returns list of azure subscriptions
*
*/
getAzureSubscriptions() {
return __awaiter(this, void 0, void 0, function* () {
return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
let routeValues = {};
try {
let verData = yield this.vsoClient.getVersioningData("7.2-preview.1", "distributedtask", "bcd6189c-0303-471f-a8e1-acb22b74d700", 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);
}
}));
});
}
/**
* GET a PAT token for managing (configuring, removing, tagging) deployment targets in a deployment group.
*
* @param {string} project - Project ID or project name
* @param {number} deploymentGroupId - ID of the deployment group in which deployment targets are managed.
*/
generateDeploymentGroupAccessToken(project, deploymentGroupId) {
return __awaiter(this, void 0, void 0, function* () {
return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
let routeValues = {
project: project,
deploymentGroupId: deploymentGroupId
};
try {
let verData = yield this.vsoClient.getVersioningData("7.2-preview.1", "distributedtask", "3d197ba2-c3e9-4253-882f-0ee2440f8174", routeValues);
let url = verData.requestUrl;
let options = this.createRequestOptions('application/json', verData.apiVersion);
let res;
res = yield this.rest.create(url, null, options);
let ret = this.formatResponse(res.result, null, false);
resolve(ret);
}
catch (err) {
reject(err);
}
}));
});
}
/**
* Create a deployment group.
*
* @param {TaskAgentInterfaces.DeploymentGroupCreateParameter} deploymentGroup - Deployment group to create.
* @param {string} project - Project ID or project name
*/
addDeploymentGroup(deploymentGroup, 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("7.2-preview.1", "distributedtask", "083c4d89-ab35-45af-aa11-7cf66895c53e", routeValues);
let url = verData.requestUrl;
let options = this.createRequestOptions('application/json', verData.apiVersion);
let res;
res = yield this.rest.create(url, deploymentGroup, options);
let ret = this.formatResponse(res.result, TaskAgentInterfaces.TypeInfo.DeploymentGroup, false);
resolve(ret);
}
catch (err) {
reject(err);
}
}));
});
}
/**
* Delete a deployment group.
*
* @param {string} project - Project ID or project name
* @param {number} deploymentGroupId - ID of the deployment group to be deleted.
*/
deleteDeploymentGroup(project, deploymentGroupId) {
return __awaiter(this, void 0, void 0, function* () {
return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
let routeValues = {
project: project,
deploymentGroupId: deploymentGroupId
};
try {
let verData = yield this.vsoClient.getVersioningData("7.2-preview.1", "distributedtask", "083c4d89-ab35-45af-aa11-7cf66895c53e", routeValues);
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 deployment group by its ID.
*
* @param {string} project - Project ID or project name
* @param {number} deploymentGroupId - ID of the deployment group.
* @param {TaskAgentInterfaces.DeploymentGroupActionFilter} actionFilter - Get the deployment group only if this action can be performed on it.
* @param {TaskAgentInterfaces.DeploymentGroupExpands} expand - Include these additional details in the returned object.
*/
getDeploymentGroup(project, deploymentGroupId, actionFilter, expand) {
return __awaiter(this, void 0, void 0, function* () {
return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
let routeValues = {
project: project,
deploymentGroupId: deploymentGroupId
};
let queryValues = {
actionFilter: actionFilter,
'$expand': expand,
};
try {
let verData = yield this.vsoClient.getVersioningData("7.2-preview.1", "distributedtask", "083c4d89-ab35-45af-aa11-7cf66895c53e", 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, TaskAgentInterfaces.TypeInfo.DeploymentGroup, false);
resolve(ret);
}
catch (err) {
reject(err);
}
}));
});
}
/**
* Get a list of deployment groups by name or IDs.
*
* @param {string} project - Project ID or project name
* @param {string} name - Name of the deployment group.
* @param {TaskAgentInterfaces.DeploymentGroupActionFilter} actionFilter - Get only deployment groups on which this action can be performed.
* @param {TaskAgentInterfaces.DeploymentGroupExpands} expand - Include these additional details in the returned objects.
* @param {string} continuationToken - Get deployment groups with names greater than this continuationToken lexicographically.
* @param {number} top - Maximum number of deployment groups to return. Default is **1000**.
* @param {number[]} ids - Comma separated list of IDs of the deployment groups.
*/
getDeploymentGroups(project, name, actionFilter, expand, continuationToken, top, ids) {
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 = {
name: name,
actionFilter: actionFilter,
'$expand': expand,
continuationToken: continuationToken,
'$top': top,
ids: ids && ids.join(","),
};
try {
let verData = yield this.vsoClient.getVersioningData("7.2-preview.1", "distributedtask", "083c4d89-ab35-45af-aa11-7cf66895c53e", 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, TaskAgentInterfaces.TypeInfo.DeploymentGroup, true);
resolve(ret);
}
catch (err) {
reject(err);
}
}));
});
}
/**
* Update a deployment group.
*
* @param {TaskAgentInterfaces.DeploymentGroupUpdateParameter} deploymentGroup - Deployment group to update.
* @param {string} project - Project ID or project name
* @param {number} deploymentGroupId - ID of the deployment group.
*/
updateDeploymentGroup(deploymentGroup, project, deploymentGroupId) {
return __awaiter(this, void 0, void 0, function* () {
return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
let routeValues = {
project: project,
deploymentGroupId: deploymentGroupId
};
try {
let verData = yield this.vsoClient.getVersioningData("7.2-preview.1", "distributedtask", "083c4d89-ab35-45af-aa11-7cf66895c53e", routeValues);
let url = verData.requestUrl;
let options = this.createRequestOptions('application/json', verData.apiVersion);
let res;
res = yield this.rest.update(url, deploymentGroup, options);
let ret = this.formatResponse(res.result, TaskAgentInterfaces.TypeInfo.DeploymentGroup, false);
resolve(ret);
}
catch (err) {
reject(err);
}
}));
});
}
/**
* Get a list of deployment group metrics.
*
* @param {string} project - Project ID or project name
* @param {string} deploymentGroupName - Name of the deployment group.
* @param {string} continuationToken - Get metrics for deployment groups with names greater than this continuationToken lexicographically.
* @param {number} top - Maximum number of deployment group metrics to return. Default is **50**.
*/
getDeploymentGroupsMetrics(project, deploymentGroupName, continuationToken, 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
};
let queryValues = {
deploymentGroupName: deploymentGroupName,
continuationToken: continuationToken,
'$top': top,
};
try {
let verData = yield this.vsoClient.getVersioningData("7.2-preview.1", "distributedtask", "281c6308-427a-49e1-b83a-dac0f4862189", 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, TaskAgentInterfaces.TypeInfo.DeploymentGroupMetrics, true);
resolve(ret);
}
catch (err) {
reject(err);
}
}));
});
}
/**
* @param {string} project - Project ID or project name
* @param {number} deploymentGroupId
* @param {number} machineId
* @param {number} completedRequestCount
*/
getAgentRequestsForDeploymentMachine(project, deploymentGroupId, machineId, completedRequestCount) {
return __awaiter(this, void 0, void 0, function* () {
if (machineId == null) {
throw new TypeError('machineId can not be null or undefined');
}
return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
let routeValues = {
project: project,
deploymentGroupId: deploymentGroupId
};
let queryValues = {
machineId: machineId,
completedRequestCount: completedRequestCount,
};
try {
let verData = yield this.vsoClient.getVersioningData("7.2-preview.1", "distributedtask", "a3540e5b-f0dc-4668-963b-b752459be545", 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, TaskAgentInterfaces.TypeInfo.TaskAgentJobRequest, true);
resolve(ret);
}
catch (err) {
reject(err);
}
}));
});
}
/**
* @param {string} project - Project ID or project name
* @param {number} deploymentGroupId
* @param {number[]} machineIds
* @param {number} completedRequestCount
*/
getAgentRequestsForDeploymentMachines(project, deploymentGroupId, machineIds, completedRequestCount) {
return __awaiter(this, void 0, void 0, function* () {
return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
let routeValues = {
project: project,
deploymentGroupId: deploymentGroupId
};
let queryValues = {
machineIds: machineIds && machineIds.join(","),
completedRequestCount: completedRequestCount,
};
try {
let verData = yield this.vsoClient.getVersioningData("7.2-preview.1", "distributedtask", "a3540e5b-f0dc-4668-963b-b752459be545", 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, TaskAgentInterfaces.TypeInfo.TaskAgentJobRequest, true);
resolve(ret);
}
catch (err) {
reject(err);
}
}));
});
}
/**
* @param {string} project - Project ID or project name
* @param {number} deploymentGroupId
*/
refreshDeploymentMachines(project, deploymentGroupId) {
return __awaiter(this, void 0, void 0, function* () {
return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
let routeValues = {
project: project,
deploymentGroupId: deploymentGroupId
};
try {
let verData = yield this.vsoClient.getVersioningData("7.2-preview.1", "distributedtask", "91006ac4-0f68-4d82-a2bc-540676bd73ce", routeValues);
let url = verData.requestUrl;
let options = this.createRequestOptions('application/json', verData.apiVersion);
let res;
res = yield this.rest.create(url, null, options);
let ret = this.formatResponse(res.result, null, false);
resolve(ret);
}
catch (err) {
reject(err);
}
}));
});
}
/**
* GET a PAT token for managing (configuring, removing, tagging) deployment agents in a deployment pool.
*
* @param {number} poolId - ID of the deployment pool in which deployment agents are managed.
*/
generateDeploymentPoolAccessToken(poolId) {
return __awaiter(this, void 0, void 0, function* () {
return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
let routeValues = {
poolId: poolId
};
try {
let verData = yield this.vsoClient.getVersioningData("7.2-preview.1", "distributedtask", "e077ee4a-399b-420b-841f-c43fbc058e0b", routeValues);
let url = verData.requestUrl;
let options = this.createRequestOptions('application/json', verData.apiVersion);
let res;
res = yield this.rest.create(url, null, options);
let ret = this.formatResponse(res.result, null, false);
resolve(ret);
}
catch (err) {
reject(err);
}
}));
});
}
/**
* Get a list of deployment pool summaries.
*
* @param {string} poolName - Name of the deployment pool.
* @param {TaskAgentInterfaces.DeploymentPoolSummaryExpands} expands - Include these additional details in the returned objects.
* @param {number[]} poolIds - List of deployment pool ids.
*/
getDeploymentPoolsSummary(poolName, expands, poolIds) {
return __awaiter(this, void 0, void 0, function* () {
return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
let routeValues = {};
let queryValues = {
poolName: poolName,
expands: expands,
poolIds: poolIds && poolIds.join(","),
};
try {
let verData = yield this.vsoClient.getVersioningData("7.2-preview.1", "distributedtask", "6525d6c6-258f-40e0-a1a9-8a24a3957625", 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, TaskAgentInterfaces.TypeInfo.DeploymentPoolSummary, true);
resolve(ret);
}
catch (err) {
reject(err);
}
}));
});
}
/**
* Get agent requests for a deployment target.
*
* @param {string} project - Project ID or project name
* @param {number} deploymentGroupId - ID of the deployment group to which the target belongs.
* @param {number} targetId - ID of the deployment target.
* @param {number} completedRequestCount - Maximum number of completed requests to return. Default is **50**
*/
getAgentRequestsForDeploymentTarget(project, deploymentGroupId, targetId, completedRequestCount) {
return __awaiter(this, void 0, void 0, function* () {
if (targetId == null) {
throw new TypeError('targetId can not be null or undefined');
}
return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
let routeValues = {
project: project,
deploymentGroupId: deploymentGroupId
};
let queryValues = {
targetId: targetId,
completedRequestCount: completedRequestCount,
};
try {
let verData = yield this.vsoClient.getVersioningData("7.2-preview.1", "distributedtask", "2fac0be3-8c8f-4473-ab93-c1389b08a2c9", 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, TaskAgentInterfaces.TypeInfo.TaskAgentJobRequest, true);
resolve(ret);
}
catch (err) {
reject(err);
}
}));
});
}
/**
* Get agent requests for a list deployment targets.
*
* @param {string} project - Project ID or project name
* @param {number} deploymentGroupId - ID of the deployment group to which the targets belong.
* @param {number[]} targetIds - Comma separated list of IDs of the deployment targets.
* @param {number} ownerId - Id of owner of agent job request.
* @param {Date} completedOn - Datetime to return request after this time.
* @param {number} completedRequestCount - Maximum number of completed requests to return for each target. Default is **50**
*/
getAgentRequestsForDeploymentTargets(project, deploymentGroupId, targetIds, ownerId, completedOn, completedRequestCount) {
return __awaiter(this, void 0, void 0, function* () {
return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
let routeValues = {
project: project,
deploymentGroupId: deploymentGroupId
};
let queryValues = {
targetIds: targetIds && targetIds.join(","),
ownerId: ownerId,
completedOn: completedOn,
completedRequestCount: completedRequestCount,
};
try {
let verData = yield this.vsoClient.getVersioningData("7.2-preview.1", "distributedtask", "2fac0be3-8c8f-4473-ab93-c1389b08a2c9", 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, TaskAgentInterfaces.TypeInfo.TaskAgentJobRequest, true);
resolve(ret);
}
catch (err) {
reject(err);
}
}));
});
}
/**
* Upgrade the deployment targets in a deployment group.
*
* @param {string} project - Project ID or project name
* @param {number} deploymentGroupId - ID of the deployment group.
*/
refreshDeploymentTargets(project, deploymentGroupId) {
return __awaiter(this, void 0, void 0, function* () {
return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
let routeValues = {
project: project,
deploymentGroupId: deploymentGroupId
};
try {
let verData = yield this.vsoClient.getVersioningData("7.2-preview.1", "distributedtask", "1c1a817f-f23d-41c6-bf8d-14b638f64152", routeValues);
let url = verData.requestUrl;
let options = this.createRequestOptions('application/json', verData.apiVersion);
let res;
res = yield this.rest.create(url, null, options);
let ret = this.formatResponse(res.result, null, false);
resolve(ret);
}
catch (err) {
reject(err);
}
}));
});
}
/**
* Proxy for a GET request defined by an 'endpoint'. The request is authorized using a service connection. The response is filtered using an XPath/Json based selector.
*
* @param {TaskAgentInterfaces.TaskDefinitionEndpoint} endpoint - Describes the URL to fetch.
*/
queryEndpoint(endpoint) {
return __awaiter(this, void 0, void 0, function* () {
return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
let routeValues = {};
try {
let verData = yield this.vsoClient.getVersioningData("7.2-preview.1", "distributedtask", "f223b809-8c33-4b7d-b53f-07232569b5d6", routeValues);
let url = verData.requestUrl;
let options = this.createRequestOptions('application/json', verData.apiVersion);
let res;
res = yield this.rest.create(url, endpoint, options);
let ret = this.formatResponse(res.result, null, true);
resolve(ret);
}
catch (err) {
reject(err);
}
}));
});
}
/**
* Get environment deployment execution history
*
* @param {string} project - Project ID or project name
* @param {number} environmentId
* @param {string} continuationToken
* @param {number} top
*/
getEnvironmentDeploymentExecutionRecords(project, environmentId, continuationToken, 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,
environmentId: environmentId
};
let queryValues = {
continuationToken: continuationToken,
top: top,
};
try {
let verData = yield this.vsoClient.getVersioningData("7.2-preview.1", "distributedtask", "51bb5d21-4305-4ea6-9dbb-b7488af73334", 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, TaskAgentInterfaces.TypeInfo.EnvironmentDeploymentExecutionRecord, true);
resolve(ret);
}
catch (err) {
reject(err);
}
}));
});
}
/**
* Create an environment.
*
* @param {TaskAgentInterfaces.EnvironmentCreateParameter} environmentCreateParameter - Environment to create.
* @param {string} project - Project ID or project name
*/
addEnvironment(environmentCreateParameter, 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("7.2-preview.1", "distributedtask", "8572b1fc-2482-47fa-8f74-7e3ed53ee54b", routeValues);
let url = verData.requestUrl;
let options = this.createRequestOptions('application/json', verData.apiVersion);
let res;
res = yield this.rest.create(url, environmentCreateParameter, options);
let ret = this.formatResponse(res.result, TaskAgentInterfaces.TypeInfo.EnvironmentInstance, false);
resolve(ret);
}
catch (err) {
reject(err);
}
}));
});
}
/**
* Delete the specified environment.
*
* @param {string} project - Project ID or project name
* @param {number} environmentId - ID of the environment.
*/
deleteEnvironment(project, 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,
environmentId: environmentId
};
try {
let verData = yield this.vsoClient.getVersioningData("7.2-preview.1", "distributedtask", "8572b1fc-2482-47fa-8f74-7e3ed53ee54b", routeValues);
let url = verData.requestUrl;
let options =