如何从 Azure DevOps 中的 YAML 管道获取阶段结果
How to get stage results from YAML pipelines in Azure DevOps
到目前为止,我使用 Azure DevOps REST Api 从 Azure DevOps 中的版本获取数据以用于报告目的。显然,这将随着如何使用 CI/CD --> YAML 和 Multi-Stage-Pipeline(当前预览)的新方式而改变。在那种情况下,构建和发布策略已被弃用,所有内容都被定义为管道并细分为分阶段(构建阶段、部署阶段 1、部署阶段 2,...)。
我尝试通过 build list method 接收数据,但此数据有限,我遗漏了一些重要信息,如 'was stage successful'。
是否有人已经体验过 YAML Pipelines 和 Azure DevOps REST 的组合 Api?有没有办法获取完整数据(与经典发布策略一样)?或者它目前正在开发中,我必须耐心等待?
提前致谢!
How to get stage results from YAML pipelines in Azure DevOps
对于这个问题,您需要使用Status - Get rest api。
GET https://dev.azure.com/{organization}/{project}/_apis/build/status/{definition}?api-version=5.1-preview.1
此 api 可以获取定义的构建状态,可以选择将范围限定为特定分支、阶段、作业和配置。
这是我对邮递员的测试:
更新第二种方式:
您可以在浏览器中按F12
然后selectNetwork
捕获请求获取阶段result.You可以从响应体中捕获结果。但不同阶段的结果由不同的数字表示,即 0->已完成,5->已取消等。
似乎时间线 API 正是为此而制作的。
GET https://dev.azure.com/{organization}/{project}/_apis/build/builds/{buildId}/timeline/{timelineId}?api-version=7.1-preview.2
可以找到文档 here。
返回一个记录数组,其中包含每个阶段、阶段、作业、任务和检查点的状态。
至于 {timelineId}
,与默认示例相反,它不是必填字段,不提供会产生正确的结果。似乎它可能来自之前的尝试:
Name
Type
Description
timelineId
string
Gets or sets the timeline identifier which owns the record representing this attempt.
到目前为止,我使用 Azure DevOps REST Api 从 Azure DevOps 中的版本获取数据以用于报告目的。显然,这将随着如何使用 CI/CD --> YAML 和 Multi-Stage-Pipeline(当前预览)的新方式而改变。在那种情况下,构建和发布策略已被弃用,所有内容都被定义为管道并细分为分阶段(构建阶段、部署阶段 1、部署阶段 2,...)。
我尝试通过 build list method 接收数据,但此数据有限,我遗漏了一些重要信息,如 'was stage successful'。
是否有人已经体验过 YAML Pipelines 和 Azure DevOps REST 的组合 Api?有没有办法获取完整数据(与经典发布策略一样)?或者它目前正在开发中,我必须耐心等待?
提前致谢!
How to get stage results from YAML pipelines in Azure DevOps
对于这个问题,您需要使用Status - Get rest api。
GET https://dev.azure.com/{organization}/{project}/_apis/build/status/{definition}?api-version=5.1-preview.1
此 api 可以获取定义的构建状态,可以选择将范围限定为特定分支、阶段、作业和配置。
这是我对邮递员的测试:
更新第二种方式:
您可以在浏览器中按F12
然后selectNetwork
捕获请求获取阶段result.You可以从响应体中捕获结果。但不同阶段的结果由不同的数字表示,即 0->已完成,5->已取消等。
似乎时间线 API 正是为此而制作的。
GET https://dev.azure.com/{organization}/{project}/_apis/build/builds/{buildId}/timeline/{timelineId}?api-version=7.1-preview.2
可以找到文档 here。
返回一个记录数组,其中包含每个阶段、阶段、作业、任务和检查点的状态。
至于 {timelineId}
,与默认示例相反,它不是必填字段,不提供会产生正确的结果。似乎它可能来自之前的尝试:
Name | Type | Description |
---|---|---|
timelineId | string | Gets or sets the timeline identifier which owns the record representing this attempt. |