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

如何调用Azure DevOps REST API按日期筛选成功部署记录

Azure DevOps 部署记录API日期筛选实现方案

问题背景

调用Azure DevOps Release部署列表API查询指定Pipeline的成功部署记录时,无法获取特定日期区间、或特定日期之前的部署数据。原测试调用使用createdOn=2022-10-06作为筛选参数,未返回预期结果。

错误原因

  • 该接口未定义createdOn作为查询参数,传入后会被服务端直接忽略,无法起到筛选作用
  • 原调用缺失强制必填的api-version参数,可能导致接口返回非预期版本的结果
  • 未指定部署状态参数,会默认返回所有状态(进行中、失败、成功等)的部署记录

正确筛选方案

该接口原生支持两个时间维度的查询参数,基于部署记录的最后修改时间(和部署创建时间偏差极小,可满足绝大多数日期筛选场景)做范围匹配:

  • minModifiedTime:筛选修改时间大于等于该值的记录,对应UTC时区ISO 8601格式时间字符串
  • maxModifiedTime:筛选修改时间小于等于该值的记录,对应UTC时区ISO 8601格式时间字符串
    配合其他筛选参数,可覆盖不同查询场景:

场景1:查询特定日期之前的成功部署记录

仅需传入maxModifiedTime为目标日期的UTC当日最后一刻时间,同时指定deploymentStatus=succeeded过滤成功状态、补上api-version=6.0参数,示例调用:

https://vsrm.dev.azure.com/ABC/DEF/_apis/release/deployments?definitionId=111&sourceBranch=master&deploymentStatus=succeeded&maxModifiedTime=2022-10-06T23:59:59.999Z&api-version=6.0

场景2:查询特定日期区间内的成功部署记录

同时传入minModifiedTime(区间起始UTC零点时间)和maxModifiedTime(区间结束UTC最后一刻时间)即可,示例查询2022-10-01至2022-10-06的记录:

https://vsrm.dev.azure.com/ABC/DEF/_apis/release/deployments?definitionId=111&sourceBranch=master&deploymentStatus=succeeded&minModifiedTime=2022-10-01T00:00:00.000Z&maxModifiedTime=2022-10-06T23:59:59.999Z&api-version=6.0

补充说明

若需要100%按部署创建时间精准匹配,可在接口返回结果后,本地遍历记录对createdOn字段做二次过滤,消除modifiedTime和createdOn的极个别偏差。注意所有传入接口的时间值必须转换为UTC时区,不要直接使用本地时区时间,避免时区偏移导致筛选结果错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 13:54:21