如何获取管道构建的 URL

Por*_*Man 9 azure-devops azure-pipelines

在 Azure Pipeline 构建的运行中,是否有任何方法可以获取正在运行的构建的 URL?

就像是:

https://dev.azure.com/{organization}/{project}/_build/results?buildId={build_number}

我本以为它可以作为环境变量之一使用,但事实似乎并非如此。

Jan*_*wak 15

这将使用所有预定义的变量

$buildUrl="$(System.TeamFoundationCollectionUri)$(System.TeamProject)/_build/results?buildId=$(Build.BuildId)" 

Write-Host $buildUrl
Run Code Online (Sandbox Code Playgroud)


mlo*_*kot 5

这是使用System.CollectionUri变量的替代方案,其名称更通用,而不是特定于 TFS。没有与项目名称等效的名称,因此System.TeamProject必须使用,这也适用于 GitHub 存储库。

组成的 URL 可以缓存在管道或作业范围中的 Azure Pipelines 变量中:

variables:
  MyResultsUrl: '$(System.CollectionUri)$(System.TeamProject)/_build/results?buildId=$(Build.BuildId)'
Run Code Online (Sandbox Code Playgroud)

添加查询参数?view=logs可以使URL直接跳转到日志。


Sha*_*zyk 4

构建 URL 没有预定义变量,但您可以轻松获取它,因为您有一个构建 id 变量:

steps:
- powershell: |
   $buildUrl = "https://dev.azure.com/$(System.TeamFoundationCollectionUri)$(System.TeamProject)/_build/results?buildId=$(Build.BuildId)"
   Write-Host "##vso[task.setvariable variable=buildUrl;]$buildUrl"
  displayName: 'Set build url variable'
Run Code Online (Sandbox Code Playgroud)

在下一步中,我打印$(buildUrl)变量:

在此输入图像描述