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

如何迁移单个User Story及其下属子工作项?查询失败求助

解决单个User Story及其子工作项的迁移查询问题

要迁移指定ID的User Story(74271)及其所有层级下的Bug、Task等子工作项,你之前的WIQL查询存在逻辑问题,正确的写法需要同时包含目标User Story和它的所有子项,以下是两种可行方案:

方案一:直接关联子项查询

使用OR组合目标User Story和它的层级子项查询,明确指定子项的链接类型为反向层级(因为子项的父项是目标User Story):

"WIQLQueryBit": "AND ([System.WorkItemType] = 'User Story' AND [System.Id] = 74271) OR ([System.WorkItemType] IN ('Bug', 'Task') AND [System.Links.LinkType] = 'System.LinkTypes.Hierarchy-Reverse' AND [System.Links.TargetSystem.Id] = 74271)"

如果需要包含所有类型的子工作项,可把IN ('Bug', 'Task')改成NOT [System.WorkItemType] = 'User Story'(根据实际需求调整)。

方案二:用子查询获取所有层级关联项

通过WorkItemLinks子查询一次性获取目标User Story及其所有层级子项的ID,再匹配查询:

"WIQLQueryBit": "AND [System.Id] IN (SELECT Target.[System.Id] FROM WorkItemLinks WHERE Source.[System.Id] = 74271 AND [System.Links.LinkType] = 'System.LinkTypes.Hierarchy-Forward' AND [System.Links.LinkTypeEndName] = 'Child') OR [System.Id] = 74271"

这个写法会自动包含所有直接/间接的子工作项,不需要逐个指定类型。

之前查询失效的原因

  • 第一条查询仅筛选了目标User Story本身,完全没关联子工作项,自然只迁移这一个条目。
  • 第二条查询的System.Links.LinkType条件放在主工作项查询中无效,因为主查询是筛选工作项,不是筛选链接关系,必须通过子查询或反向链接条件来关联子项。

额外注意事项

  • 确认迁移工具已开启保留工作项层级关系的配置项,否则即使查询到所有子项,迁移后也会丢失父子关联。
  • 如果子工作项还有自己的子项(比如Task下的子Task),方案二的写法会自动递归获取所有层级,方案一需要额外扩展条件。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 00:30:03