在Azure DevOps拉取请求验证管道中以编程方式访问拉取请求更改?

时间:2020-02-11 00:54:11

标签: azure-devops azure-devops-rest-api

对于被触发以验证拉取请求的管道,是否可以从管道访问PR信息?例如发生了什么变化

我有大量的脚本和配置存储库,如果在PR中仅触摸了几个文件,则检查所有脚本和配置是没有意义的

我已经看过了,但是没有太多信息 https://docs.microsoft.com/en-us/azure/devops/repos/git/pull-request-status?view=azure-devops

2 个答案:

答案 0 :(得分:0)

在dev.azure.com门户上的

,如果您转到管道并最后运行,请单击链接first page 和此处的突出显示PR link,它将带您到GitHub并在下拉菜单中进行更改请求

答案 1 :(得分:0)

从配置为PR的构建策略一部分的管道中,可以使用$(Build.SourceVersion)变量并调用Rest API来找出changed in a Commit是什么。或仅使用git命令git diff COMMIT

然后,根据更改和要测试的内容,设置environment variables,然后在conditions中使用它,以便仅在管道中运行某些Stages \ Jobs \ Steps。取决于您需要验证或测试的内容...

要考虑的另一种更简便的方法是为Scripts存储库的不同部分创建单独的验证管道。然后,对于触发PR的分支策略,为每个构建策略配置路径过滤器,以便仅在对给定路径中的文件进行更改时才运行管道。

enter image description here