代码之家  ›  专栏  ›  技术社区  ›  James

如何从成功的发布创建vsts请求状态?

  •  0
  • James  · 技术社区  · 6 年前

    我们有一个数据仓库类型的应用程序,因此一个简单的构建不足以验证拉取请求。我们有一个释放管道,可以自动触发对烟雾环境的释放。如果此部署成功,则拉取请求可以完成。

    看来 Pull Request Status API 很适合这个。但是我不知道如何从发行版中获取pullrequestid。

    生成定义中有$(system.pullrequest.pullrequestid)变量,但发布定义中没有。

    我目前正在测试一个黑客解决方案-在构建阶段,用$(system.pullrequest.pullrequestid)在artefact目录中写入一个新文件。这样就可以发布了。希望有一个更简单的方法。

    1 回复  |  直到 6 年前
        1
  •  0
  •   Marina Liu    6 年前

    似乎构建是由pr验证触发的,而发布是由构建工件触发的。然后你可以 从预定义变量中获取pull请求id $(Release.Artifacts.vs2017.SourceBranch) .

    由于生成是为PR验证触发的,因此源分支格式将为:

    refs/pull/{PullRequestId}/merge
    

    在发布期间,您可以通过 $(release.artifacts.vs2017.sourcebranch) . 然后把绳子分开 / 您将得到pull请求id。 $prid 用于拉取请求ID):

    $t="$(Release.Artifacts.vs2017.SourceBranch)"
    $pr=$t -split '/'
    $prid=$pr[2]
    echo "the pull request id is $prid"