Azure devops 从CD管道检测CI触发器的原因

Azure devops 从CD管道检测CI触发器的原因,azure-devops,azure-pipelines,azure-devops-rest-api,Azure Devops,Azure Pipelines,Azure Devops Rest Api,在my Azure DevOps管道中,当PR(从功能分支到开发分支)或直接推送开发分支(DevOps工程师具有“强制推送”权限)发生时,会自动触发CI构建。一旦构建完成,CD管道就会启动(启用了持续集成) CD管道(PowerShell)是否有办法检测CI生成是由PR还是直接推送触发的? RELEASE\u REASON说手动集成或持续集成对我的情况没有帮助 使用REST API获取构建详细信息时会显示“原因”:“individualCI”,这也没有帮助。您可以使用它来获取构建触发器的原因:

在my Azure DevOps管道中,当PR(从功能分支到开发分支)或直接推送开发分支(DevOps工程师具有“强制推送”权限)发生时,会自动触发CI构建。一旦构建完成,CD管道就会启动(启用了持续集成)

CD管道(PowerShell)是否有办法检测CI生成是由PR还是直接推送触发的?
RELEASE\u REASON
说手动集成或持续集成对我的情况没有帮助

使用REST API获取构建详细信息时会显示“原因”:“individualCI”,这也没有帮助。

您可以使用它来获取构建触发器的原因:

GET https://dev.azure.com/{organization}/{project}/_apis/build/builds/{buildId}?api-version=5.1
我用PostMan测试,如果构建的原因是CI,那么构建的原因将是individualCI

如果生成的原因是拉请求,则生成的原因将是拉请求。


注意如果您启用持续集成并在分支策略中设置pr触发器生成,那么当您创建要触发生成的pr时,生成管道实际上运行两个生成,一个通过创建pr触发,另一个是在pr完成后,由于目标分支的更改而触发的ci构建。

感谢您的回复。不幸的是,这两个案例都有“个人CI”。我尝试了第一个场景,PR被接受/完成,然后自动合并。另一种情况是在没有PR的情况下直接推送到分支。可能“pullRequest”仅在CI验证生成期间出现?之所以出现pullRequest,是因为您在分支策略中设置了生成验证。创建pr后,生成将由pr触发。即使您解散ci,仍然可以显示pull reuqest。