首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过拉请求获取AzureDevops生成详细信息

通过拉请求获取AzureDevops生成详细信息
EN

Stack Overflow用户
提问于 2022-04-21 02:12:01
回答 2查看 185关注 0票数 1

我的要求是告诉用户,如果他/她的PR部署成功与否,我想,

  1. 我可以问用户关于他的PR#
  2. 使用PR# -获取生成详细信息
  3. 使用步骤2中的BuildID,查找部署信息

我坚持步骤2,我使用下面的文档来获取构建细节。https://learn.microsoft.com/en-us/rest/api/azure/devops/build/builds/list?view=azure-devops-rest-6.0

无法找到正确使用reasonFilter参数来传递拉请求id来获取生成详细信息API URL信息

构建Reson

有谁能帮上忙吗?这里的reasonFilter参数是如何使用的?

EN

回答 2

Stack Overflow用户

发布于 2022-04-21 05:49:39

关于您需要解决的问题:reasonFilter只是一些预定义的字符串值,您可以从中选择。例如,如果指定reasonFilter=pullrequest,则所有构建都由拉请求启动。因此,您不能在这里指定确切的PR ID。

关于您的总体需求:我不认为有一个API可以严格地绑定PR ID及其构建。您应该转而查看状态API。构建只是可以与拉请求关联的状态之一,更具体地说,是与提交关联的状态之一。

因此,我将以以下方式处理您的任务(请注意,这不是一个精确的算法,而是一些步骤,我将尝试找到解决方案):

  • 获取用户提供的按PR ID提取请求
  • 在响应中找到lastMergeCommit
  • 获取合并提交的状态
  • 调查对象返回的集合,找出如何过滤您要寻找的构建(我不确定该响应的格式,但我确信有一些属性可供判断)

希望这能把你引向正确的方向。

票数 1
EN

Stack Overflow用户

发布于 2022-04-21 05:56:41

如何准确地使用reasonFilter参数,这里尝试了这个reasonFilter

根据您的需求,您需要通过构建原因和拉出请求ID来过滤构建。

恐怕在Rest中没有按拉请求ID进行筛选的开箱即用参数。

对于解决方法,您可以尝试将标记添加到构建中。

以下是几个步骤:

  1. 您可以在构建中添加一个步骤,以使用拉请求ID作为生成标记。请参阅以下文档:AddBuildTag:向构建添加一个标记

例如:

代码语言:javascript
复制
- powershell: |
  
   
   Write-Host "##vso[build.addbuildtag]$env:SYSTEM_PULLREQUEST_PULLREQUESTID"
   
  displayName: 'PowerShell Script'
  condition: eq(variables['Build.reason'], 'pullrequest')

您可以设置条件,以确保当管道被拉请求触发时,它将添加生成标记。

  1. 您可以在Rest中添加tagFilters来过滤相关的构建。

例如:

代码语言:javascript
复制
Get https://dev.azure.com/org/project/_apis/build/builds?reasonFilter=pullrequest&tagFilters=PullrequestID&api-version=6.0
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71948145

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档