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

如何在Azure DevOps中通过API复制工作项树?是否有其他方法?

在Azure DevOps中复制完整工作项树的方法

一、无需API的手动/内置功能方法

1. 利用自带的工作项复制功能

  • 打开要复制的父工作项(比如功能项),点击页面顶部的复制按钮
  • 在弹出的复制对话框中,勾选复制子项选项,该选项会自动包含所有层级的子项、子子项
  • 按需调整复制后的工作项字段:比如修改标题、状态、指派对象等,确认后点击创建即可生成完整的工作项树
  • 注意:部分系统字段(如创建日期、原ID)不会被复制,自定义字段会默认继承原项的值,可手动修改

2. Excel批量导出导入(适合复杂批量场景)

  • 在Azure DevOps的工作项查询中,创建包含目标工作项树所有节点的查询,确保结果包含父ID字段
  • 点击查询结果页面的导出到Excel,将工作项数据导出到本地Excel文件
  • 在Excel中修改所有工作项的标题、状态等需要调整的字段,删除原ID、创建日期等系统字段
  • 回到Azure DevOps,点击导入工作项,选择修改后的Excel文件,导入时注意映射父ID字段:可先导入父项,待生成新ID后,再导入子项并更新父ID为对应新节点的ID

二、通过API实现复制

1. 核心步骤

(1)获取完整工作项树结构

调用Work Items - Get Work Item API,请求URL格式:

GET https://dev.azure.com/{organization}/{project}/_apis/wit/workitems/{id}?$expand=relations&api-version=7.1-preview.3
  • 替换{organization}、{project}、{id}为实际值
  • 通过返回的relations字段获取所有子项链接,递归遍历所有关联节点,记录每个节点的字段值和层级关系

(2)创建父工作项

调用Work Items - Create API,请求URL格式:

POST https://dev.azure.com/{organization}/{project}/_apis/wit/workitems/${workItemType}?api-version=7.1-preview.3
  • 请求头设置Content-Type: application/json-patch+json
  • 请求体用JSON Patch格式,复制原父项的字段值(排除System.Id、System.CreatedDate等不可修改的系统字段)
  • 示例请求体:
[
  {
    "op": "add",
    "path": "/fields/System.Title",
    "value": "复制的功能项标题"
  },
  {
    "op": "add",
    "path": "/fields/System.Description",
    "value": "原功能项的描述内容"
  }
]
  • 保存返回的新父项ID,用于后续子项关联

(3)递归创建子项及子子项

针对每个子项,调用同样的Work Items - Create API,在请求体中添加System.Parent字段,值为对应父项的新ID:

[
  {
    "op": "add",
    "path": "/fields/System.Title",
    "value": "复制的用户故事标题"
  },
  {
    "op": "add",
    "path": "/fields/System.Parent",
    "value": "<新父项ID>"
  }
]
  • 递归处理所有层级的子项,确保每个子项的System.Parent指向正确的新父节点

(4)权限与认证

  • 使用个人访问令牌(PAT)认证,请求头添加:Authorization: Basic <base64编码的PAT>(PAT需要拥有**Work Items (Write)**权限)

2. 优化建议

  • 对于大量工作项,使用Work Items - Create Batch API批量创建,减少请求次数,提高效率
  • 处理字段映射时,提前过滤不可修改的系统字段,避免API报错

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 01:20:34