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

如何创建TFS查询返回状态为Accepted或子项为Accepted的Product Backlog Items

嘿,我来教你怎么创建这个符合需求的TFS查询,刚好之前处理过类似的场景!

创建目标TFS查询的详细步骤

我们要找的是两类Product Backlog Items(PBI):

  1. 自身状态为Accepted的PBI
  2. 本身状态非Accepted,但至少有一个子项(比如Task、Bug这类层级链接的工作项)状态为Accepted的PBI

下面分两种实用方式来实现,你可以根据自己的TFS版本和使用习惯选择:

方式一:可视化工作项链接查询(推荐,操作直观)

这种方式通过TFS的可视化查询编辑器就能完成,不需要写代码:

  1. 打开TFS的查询管理界面,新建一个工作项链接查询
  2. 第一个筛选组:设置直接匹配自身状态为Accepted的PBI
    • 工作项类型 = Product Backlog Item
    • 状态 = Accepted
  3. 添加第二个筛选组(记得把两个组的逻辑关系改成OR),用来匹配有Accepted子项的PBI:
    • 先设置父项条件:工作项类型 = Product Backlog Item
    • 点击「添加链接」,选择链接类型为Child,然后设置子项的筛选条件:状态 = Accepted
  4. 保存查询后运行,就能看到符合要求的结果了——比如你例子里的“Commandline Util”,哪怕自身状态是New,只要有Accepted的子项就会被纳入结果

方式二:WIQL自定义查询(适合复杂场景)

如果你熟悉TFS的工作项查询语言(WIQL),可以直接编写以下语句,导入到TFS中执行:

SELECT [System.Id], [System.Title], [System.State], [System.WorkItemType]
FROM WorkItemLinks
WHERE (
    Source.[System.WorkItemType] = 'Product Backlog Item'
    AND Source.[System.State] = 'Accepted'
)
OR (
    Source.[System.WorkItemType] = 'Product Backlog Item'
    AND Target.[System.WorkItemType] IN ('Task', 'Bug') -- 可根据你的项目子项类型调整
    AND Target.[System.State] = 'Accepted'
    AND [System.Links.LinkType] = 'System.LinkTypes.Hierarchy-Forward'
)
ORDER BY [System.Id]
MODE (Recursive, ReturnMatchingChildren)

小提示

  • 如果用的是Azure DevOps(TFS的云版本),操作逻辑完全一致,只是界面细节略有不同
  • 子项的工作项类型可以根据你的项目配置调整,比如有的项目子项还包含子PBI,记得修改对应的筛选值
  • 运行查询后,你可以通过「列选项」添加子项状态、子项ID等字段,方便直接查看关联的Accepted子项信息

内容的提问来源于stack exchange,提问作者Peter H.

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 11:11:40