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

Azure DevOps Python API:如何在创建新PR时关联已有工作项?

在创建PR的POST请求中直接关联已有工作项(Azure DevOps REST API)

你可以直接在创建Pull Request的POST请求体里添加workItemRefs字段,一次性关联已有工作项,不用事后再发Patch请求。具体操作如下:

1. 确定API端点

使用Git Pull Requests的创建接口,路径格式:

POST https://dev.azure.com/{组织名}/{项目名}/_apis/git/repositories/{仓库ID}/pullrequests?api-version=7.1-preview.1

(建议用官方文档推荐的最新API版本,确保兼容性)

2. 构造请求体

在请求的JSON体中,除了sourceRefName、targetRefName这些必填字段外,加入workItemRefs数组,每个元素填写要关联的工作项ID:

{
  "sourceRefName": "refs/heads/你的特性分支",
  "targetRefName": "refs/heads/main",
  "title": "修复用户登录异常问题",
  "description": "关联工作项:修复登录时的验证码校验bug",
  "workItemRefs": [
    {
      "id": 12345
    },
    {
      "id": 67890
    }
  ]
}
  • workItemRefs是数组,支持同时关联多个工作项
  • 只需要填写工作项的id即可,不需要额外字段

3. 发送请求示例

用curl发送请求的示例(替换占位符,带上PAT认证):

curl -X POST \
  -H "Content-Type: application/json" \
  -H "Authorization: Basic $(echo -n :你的PAT令牌 | base64)" \
  -d '{
    "sourceRefName": "refs/heads/feature/login-fix",
    "targetRefName": "refs/heads/main",
    "title": "修复登录验证码校验问题",
    "workItemRefs": [{"id": 12345}]
  }' \
  "https://dev.azure.com/MyOrg/MyProject/_apis/git/repositories/MyRepoId/pullrequests?api-version=7.1-preview.1"

注意事项

  • 确保你的PAT令牌拥有代码读写和工作项读写权限
  • 关联的工作项必须属于当前项目,且状态合法(比如非已关闭状态)
  • API版本优先选用官方最新稳定版,避免兼容性问题

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 19:52:05