You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure DevOps REST接口无法获取全部构建记录问题求助

解决Azure DevOps REST API无法获取过期构建记录的问题

核心原因

你使用的常规Build API(_apis/build/builds)仅能返回软删除的构建记录,而超过30天保留策略被自动清理的构建属于硬删除,这类数据不会被常规Build API收录。管道分析页面的数据来自Azure DevOps的Analytics Warehouse,所以能展示完整的历史运行记录。

解决方案

1. 切换到Azure DevOps Analytics API

直接调用Analytics API获取包含过期构建的完整历史数据,这也是管道分析页面使用的数据源:

GET https://analytics.dev.azure.com/{organization}/{project}/_odata/v3.0-preview/Builds
?$filter=BuildDefinitionId eq 14 and QueueTime ge 2022-09-01T00:00:00Z
&$select=BuildId,BuildNumber,QueueTime,StartTime,FinishTime,Result,State,DeletedDate
  • 该API默认保留180天的历史数据(可通过组织设置调整保留周期),包含所有已完成、已删除、已过期的构建记录。
  • 支持OData查询语法,可按需筛选、排序和选择返回字段。

2. 明确常规Build API的局限性

  • deletedFilter=includeDeleted仅对手动软删除的构建生效,无法获取系统自动清理的过期构建。
  • 即便设置maxBuildsPerDefinition=1000,常规Build API也不会返回硬删除的记录,分页(使用continuationToken)无法解决此问题。

3. 长期数据留存方案

如果需要保留超过Analytics Warehouse周期的构建数据,可:

  • 在组织设置中调整Analytics Warehouse的数据保留周期(最长可设置为10年)。
  • 定期将Analytics API的数据导出到外部存储(如Azure Blob Storage、SQL数据库)。

内容的提问来源于stack exchange,提问作者Cole Flohr

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 10:17:12