我使用 azure devops 自定义管道提供的任务,通过传递管道 ID 和其他几个触发条件来触发另一个构建。以下是我供您参考的任务。
当我使用此任务时,它会触发我提到的管道中的构建,并在日志中提供触发构建的链接。但是我需要该触发构建的 id 或链接作为输出,以便我以后可以使用它来检查状态等。请您帮忙了解如何获取它。
我使用 azure devops 自定义管道提供的任务,通过传递管道 ID 和其他几个触发条件来触发另一个构建。以下是我供您参考的任务。
当我使用此任务时,它会触发我提到的管道中的构建,并在日志中提供触发构建的链接。但是我需要该触发构建的 id 或链接作为输出,以便我以后可以使用它来检查状态等。请您帮忙了解如何获取它。
您可以在 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)。