0

我使用 azure devops 自定义管道提供的任务,通过传递管道 ID 和其他几个触发条件来触发另一个构建。以下是我供您参考的任务。

当我使用此任务时,它会触发我提到的管道中的构建,并在日志中提供触发构建的链接。但是我需要该触发构建的 id 或链接作为输出,以便我以后可以使用它来检查状态等。请您帮忙了解如何获取它。

4

1 回答 1

0

您可以在 powershell 任务中使用get latest build REST API来获取构建 ID。请在您的 powershell 任务中添加以下脚本:

$organization = "{Organization name}" 
$project = "{Project name}" 
$definitionid = "{definitionid}"
$pat = "{PAT}"
$base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(("{0}:{1}" -f "", $pat)))
$baseUrl = "https://dev.azure.com/$organization/$project/_apis/build/latest/$definitionid?api-version=5.1-preview.1" 
$latestbuild = Invoke-RestMethod -Uri $baseUrl -Headers @{Authorization=("Basic {0}" -f $base64AuthInfo)}  -Method GET 

Write-Host $latestbuild.id
$id1 = $latestbuild.id
Write-Host "##vso[task.setvariable variable=buildid]$id1"

您可以在后续任务中使用变量 buildid。例如:Write-Host $(buildid)

更新:您可以在触发器构建任务的高级配置中启用“将触发的构建 ID 存储在变量中”选项:

在此处输入图像描述

然后,您可以在后续任务中使用 $(TriggeredBuildIds)。

于 2020-10-02T07:12:58.750 回答