Azure Pipelines YAML流水线是否具备经典版提交差异展示及REST查询能力
YAML 流水线内置提交差异展示能力
YAML类型流水线已经上线和经典流水线完全对齐的内置「Difference in commits(按环境维度统计的提交差异)」展示模块,功能逻辑和经典流水线无差别:
- 模块会自动识别当前阶段在对应目标环境下的最近一次部署记录
- 自动渲染历史部署与当前流水线运行之间的全量代码提交、关联工作项差异,无需手动配置参数
- 展示入口位于每个阶段的运行详情页,位置和经典流水线保持一致
可获取对应信息的REST接口
哪怕因为实例版本、权限配置等原因导致UI层面没有显示该展示模块,也可以通过官方REST接口拉取全量对应数据,完全覆盖需要的两类核心信息:
获取指定阶段对应的上一次流水线运行实例ID
- 调用接口:
GET https://dev.azure.com/{organization}/{project}/_apis/distributedtask/environments/{environmentId}/deploymentPipelines/{deploymentPipelineId}/latestDeployment - 必传参数:
environmentId:目标环境的唯一标识deploymentPipelineId:关联流水线的唯一标识stageName:需要匹配的指定阶段名称
- 接口返回结果会直接携带该阶段最近一次成功部署绑定的流水线运行实例ID,可直接作为后续差异比对的基线值
获取任意两个指定流水线运行之间的变更集、工作项差异
- 代码变更集拉取接口:
GET https://dev.azure.com/{organization}/{project}/_apis/build/builds/{currentRunId}/diff- 必传参数:
baseBuildId(作为比对基线的历史流水线运行ID) - 返回值包含两个运行区间内的所有代码提交记录、提交人、提交关联元信息
- 必传参数:
- 工作项差异拉取接口:
GET https://dev.azure.com/{organization}/{project}/_apis/build/builds/{currentRunId}/workitems- 必传参数:
baseBuildId(作为比对基线的历史流水线运行ID) - 返回值包含两个运行区间内关联的所有工作项的详细属性内容
- 必传参数:
上述接口返回的数据源和UI内置「Difference in commits」模块的渲染数据源完全一致,不存在内容偏差。
内容的提问来源于stack exchange,提问作者GaTechThomas
相关产品推荐
相关产品推荐

