本文整理汇总了TypeScript中azure-devops-node-api/BuildApi.IBuildApi类的典型用法代码示例。如果您正苦于以下问题:TypeScript IBuildApi类的具体用法?TypeScript IBuildApi怎么用?TypeScript IBuildApi使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了IBuildApi类的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: getHandlerFromToken
var promise = new Promise<void>(async (resolve, reject) => {
var buildType: string = tl.getInput("buildType", true);
var isCurrentBuild: boolean = buildType.toLowerCase() === 'current';
var isSpecificBuildWithTriggering: boolean = tl.getBoolInput("specificBuildWithTriggering", false);
var projectId: string = null;
var definitionId: string = null;
var definitionIdSpecified: string = null;
var definitionIdTriggered: string = null;
var buildId: number = null;
var buildVersionToDownload: string = tl.getInput("buildVersionToDownload", false);
var allowPartiallySucceededBuilds: boolean = tl.getBoolInput("allowPartiallySucceededBuilds", false);
var branchName: string = tl.getInput("branchName", false);;
var downloadPath: string = tl.getInput("downloadPath", true);
var downloadType: string = tl.getInput("downloadType", true);
var tagFiltersInput: string = tl.getInput("tags", false);
var tagFilters = [];
if (!!tagFiltersInput) {
tagFilters = tagFiltersInput.split(",");
}
var endpointUrl: string = tl.getVariable("System.TeamFoundationCollectionUri");
var accessToken: string = tl.getEndpointAuthorizationParameter('SYSTEMVSSCONNECTION', 'AccessToken', false);
var credentialHandler: IRequestHandler = getHandlerFromToken(accessToken);
var webApi: WebApi = new WebApi(endpointUrl, credentialHandler);
var retryLimit = parseInt(tl.getVariable("VSTS_HTTP_RETRY")) ? parseInt(tl.getVariable("VSTS_HTTP_RETRY")) : 4;
var templatePath: string = path.join(__dirname, 'vsts.handlebars.txt');
var buildApi: IBuildApi = await webApi.getBuildApi();
var artifacts = [];
if (isCurrentBuild) {
projectId = tl.getVariable("System.TeamProjectId");
definitionId = '';
buildId = parseInt(tl.getVariable("Build.BuildId"));
}
else {
var releaseAlias: string = tl.getVariable("release.triggeringartifact.alias");
var triggeringBuildFound: boolean = false;
definitionIdSpecified = tl.getInput("definition", true);
if (isSpecificBuildWithTriggering) {
let hostType = tl.getVariable('system.hostType');
if ((hostType && hostType.toUpperCase() != 'BUILD')) {
// try to use alias to grab triggering artifact for release, starting with definition to verify parity with specified definition
definitionIdTriggered = tl.getVariable("release.artifacts." + releaseAlias + ".definitionId");
if (definitionIdTriggered == definitionIdSpecified) {
// populate values using the triggering build
projectId = tl.getVariable("release.artifacts." + releaseAlias + ".projectId");
definitionId = definitionIdTriggered;
buildId = parseInt(tl.getVariable("release.artifacts." + releaseAlias + ".buildId"));
// verify that the triggerring bruild's info was found
if (projectId && definitionId && buildId) {
triggeringBuildFound = true;
}
}
}
else {
//Verify that the triggering build's definition is the same as the specified definition
definitionIdTriggered = tl.getVariable("build.triggeredBy.definitionId");
if (definitionIdTriggered == definitionIdSpecified) {
// populate values using the triggering build
projectId = tl.getVariable("build.triggeredBy.projectId");
definitionId = definitionIdTriggered;
buildId = parseInt(tl.getVariable("build.triggeredBy.buildId"));
// verify that the triggerring bruild's info was found
if (projectId && definitionId && buildId) {
triggeringBuildFound = true;
}
}
}
}
if (!triggeringBuildFound) {
// Triggering build info not found, or requested, default to specified build info
projectId = tl.getInput("project", true);
definitionId = definitionIdSpecified;
buildId = parseInt(tl.getInput("buildId", buildVersionToDownload == "specific"));
}
// if the definition name includes a variable then definitionIdSpecified is a name vs a number
if (!!definitionIdSpecified && Number.isNaN(parseInt(definitionIdSpecified))) {
var definitions: BuildDefinitionReference[] = await executeWithRetries("getBuildDefinitions", () => buildApi.getDefinitions(projectId, definitionIdSpecified), retryLimit).catch((reason) => {
reject(reason);
return;
});
if (!definitions || definitions.length < 1) {
reject(tl.loc("InvalidBuildDefinitionName", definitionIdSpecified));
return;
}
definitionId = String(definitions[0].id);
console.log(tl.loc("DefinitionNameMatchFound", definitionIdSpecified, definitionId));
}
if (!definitionId) {
reject(tl.loc("UnresolvedDefinitionId"));
return;
}
//.........这里部分代码省略.........
示例2: getBuildFromTargetUrl
export async function getBuildFromTargetUrl(buildApi: IBuildApi, targetUrl: string, project: string): Promise<Build> {
// Extract the build Id
var buildId: number = parseInt(targetUrl.substring((targetUrl.lastIndexOf("/") + 1), targetUrl.length));
return await buildApi.getBuild(buildId, project);
}
示例3: resolve
return new Promise<boolean>(async (resolve, reject) => {
try {
for (var i = 0; i < artifacts.length; i++) {
var artifact = artifacts[i];
if (parseInt(artifact.definitionReference.definition.id) === build.definition.id) {
// We have found the definition
var artifactBuildId = artifact.definitionReference.version.id;
var artifactBuild = await buildApi.getBuild(parseInt(artifactBuildId), artifact.definitionReference.project.name);
var buildCommitPromise = gitApi.getCommit(build.sourceVersion, build.repository.id, build.project.name);
var artifactCommitPromise = gitApi.getCommit(artifactBuild.sourceVersion, artifactBuild.repository.id, artifactBuild.project.name);
await Promise.all([buildCommitPromise, artifactCommitPromise]).then(function(values) {
var buildCommit = values[0];
var artifactCommit = values[1];
if (buildCommit.author.date > artifactCommit.author.date) {
resolve(true);
} else {
resolve(false);
}
}).catch(reason => {
reject(reason);
});
}
}
resolve(true);
} catch (err) {
reject(err);
}
});
示例4: executeWithRetries
var buildArtifacts = await executeWithRetries("getArtifacts", () => buildApi.getArtifacts(buildId, projectId), retryLimit).catch((reason) => {