【发布时间】:2019-09-22 20:31:57
【问题描述】:
我是 TFS 新手,正在尝试为 DB 部署设置构建和发布管道。想要访问 TFS 管道中构建的关联变更集(更改的文件)。
一旦构建完成,关联的变更集就会出现在构建日志中。我想在管道中的构建运行期间访问它。所以我可以从中提取报告(发行说明)。
找不到任何符合我要求的预定义变量。对此有何建议。
【问题讨论】:
标签: git tfs build continuous-integration devops
我是 TFS 新手,正在尝试为 DB 部署设置构建和发布管道。想要访问 TFS 管道中构建的关联变更集(更改的文件)。
一旦构建完成,关联的变更集就会出现在构建日志中。我想在管道中的构建运行期间访问它。所以我可以从中提取报告(发行说明)。
找不到任何符合我要求的预定义变量。对此有何建议。
【问题讨论】:
标签: git tfs build continuous-integration devops
您可以在构建我们 TFS Rest API 期间获取构建更改(变更集或提交)。
API 是:
https://tfs-server:8080/tfs/{collection}/{project}/_apis/build/builds/{buildId}/changes?api-version=5.0
在结果中,您将获得包含变更集/提交详细信息的 JSON(即使构建未完成)。
所以在构建管道期间添加一个 PowerShell 任务来获取 API 结果,类似于:
$currentBuildId = $env:Build_BuildId
$url = "https://tfs-server:8080/tfs/{collection}/{project}/_apis/build/builds/$currentBuildId/changes?api-version=5.0"
$results = Invoke-RestMethod -Uri $url -Method Get -ContentType application/json -UseDefaultCredntials
【讨论】: