【问题标题】:How to access associated changeset during the tfs build如何在 tfs 构建期间访问关联的变更集
【发布时间】:2019-09-22 20:31:57
【问题描述】:

我是 TFS 新手,正在尝试为 DB 部署设置构建和发布管道。想要访问 TFS 管道中构建的关联变更集(更改的文件)。

一旦构建完成,关联的变更集就会出现在构建日志中。我想在管道中的构建运行期间访问它。所以我可以从中提取报告(发行说明)。

找不到任何符合我要求的预定义变量。对此有何建议。

【问题讨论】:

    标签: git tfs build continuous-integration devops


    【解决方案1】:

    您可以在构建我们 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 
    

    【讨论】:

    • 谢谢,我正在使用 TFS 版本 16.131.27701.1 但是当我在浏览器中点击 url 时,它会将我重定向到登录页面。有什么遗漏吗?
    • 并从 TFS 管道中收到错误,Invoke-RestMethod:找不到与参数名称匹配的参数进程完成,退出代码为 0,并且有 1 个错误写入错误流。 ****************************************************** ******************************
    • 我将 url 固定为 TFS(它是 azure devps,所以你得到了登录页面)。你现在可以检查吗? (将“tfs-server”替换为您的 TFS 网址)
    猜你喜欢
    • 1970-01-01
    • 2017-11-07
    • 2012-03-14
    • 2018-08-01
    • 2017-08-16
    • 1970-01-01
    • 2017-07-31
    • 1970-01-01
    • 2016-07-21
    相关资源
    最近更新 更多