如何通过REST API获取Azure ADO管道所有运行记录状态
Azure DevOps 获取指定管道全量运行实例状态的API方案
你之前调用的构建状态接口本身是为了生成状态徽章设计的,默认仅返回最新一次已完成构建的状态,不支持枚举全量运行记录,要查询所有运行实例需要使用构建列表接口:
- 接口基础配置
请求方法:GET
请求路径模板:
将路径中的占位符替换为你实际的组织名、项目名、目标管道的定义ID,发起请求即可获取对应管道的运行实例列表。https://dev.azure.com/{组织名}/{项目名}/_apis/build/builds?definitions={管道定义ID}&api-version=6.0 - 常用查询过滤参数(可按需拼接在请求URL后)
$top:传入整数,指定单次返回的运行记录最大条数,避免单次返回数据量过大statusFilter:按运行状态过滤,可选值包括:all(全部)、inProgress(运行中)、completed(已完成)、notStarted(排队中)、cancelling(取消中)、postponed(已推迟)resultFilter:针对已完成的运行记录,按运行结果过滤,可选值包括:succeeded(成功)、failed(失败)、canceled(已取消)、partiallySucceeded(部分成功)branchName:按触发运行的代码分支过滤,传入分支完整引用名即可minTime/maxTime:按运行启动时间过滤,传入ISO 8601格式的时间字符串,可筛选指定时间范围内的运行记录
- 返回结果说明
接口返回的JSON结构中,value字段为数组,每个数组元素对应1条管道运行实例,你可以从每个元素中读取以下核心信息:- 实例ID、当前运行状态、最终运行结果
- 启动时间、结束时间、排队总时长
- 触发人信息、触发原因、关联的代码提交/分支信息
- 运行日志地址、构建产物信息
分页提示:如果符合条件的运行记录总数超过你设置的
$top值,接口响应头会携带X-MS-ContinuationToken字段,你在下一次请求时将该字段值作为continuationToken参数传入,即可拉取下一页的记录,直到响应头不再返回该令牌,就代表已经拉取完所有符合条件的记录。
内容的提问来源于stack exchange,提问作者Komal Agarwal
相关产品推荐
相关产品推荐

