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

如何通过Azure DevOps API获取拉取请求关联的工作项

高效获取Azure DevOps拉取请求关联工作项的方案

方案1:使用$expand参数直接在PR列表接口返回工作项

你可以在拉取请求列表的GET请求中添加$expand=workItems查询参数,让接口直接返回每个PR关联的工作项信息(或ID),无需逐个调用单独的工作项接口。

请求示例:

GET https://dev.azure.com/{organization}/{project}/_apis/git/repositories/{repositoryId}/pullrequests?$expand=workItems&api-version=7.1-preview.1

返回结果里,每个拉取请求对象会包含一个workItems数组,里面包含关联工作项的核心信息(比如id、url、title等)。如果只需要ID,直接提取数组中每个元素的id字段即可。

方案2:使用批量请求(Batching)打包多个工作项查询

如果需要获取工作项的更多详细信息,或者$expand无法满足需求,可以用Azure DevOps的批量请求功能,将多个单个PR的工作项查询打包成一个HTTP请求发送,大幅减少网络往返次数。

请求示例:
发送POST请求到:

POST https://dev.azure.com/{organization}/{project}/_apis/batch?api-version=7.1-preview.1

请求体(Content-Type: application/json):

{
  "requests": [
    {
      "method": "GET",
      "url": "/{organization}/{project}/_apis/git/repositories/{repositoryId}/pullRequests/{pullRequestId1}/workitems?api-version=7.1-preview.1"
    },
    {
      "method": "GET",
      "url": "/{organization}/{project}/_apis/git/repositories/{repositoryId}/pullRequests/{pullRequestId2}/workitems?api-version=7.1-preview.1"
    }
    // 最多可添加约200个请求,具体限制以Azure DevOps官方为准
  ]
}

批量请求会返回一个responses数组,对应每个子请求的结果,你可以从中提取每个PR的工作项数据。

注意事项

  • 确保使用的API版本一致(推荐保持7.1-preview.1或更高兼容版本)
  • 你的账号需要拥有读取拉取请求和工作项的权限
  • 批量请求的子请求数量存在上限,建议控制在200个以内,避免请求被拒绝

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 23:47:09