如何在Azure版Microsoft TFS中查询仅关联活跃史诗的任务
Hey there! 我完全懂你遇到的困扰——你已经能筛选出指定状态的任务,但那些挂在已标记为Removed的Epic或User Story下面的任务也跟着出来了,这肯定不是你想要的结果。别担心,咱们可以通过TFS查询的链接筛选功能来解决这个问题,确保只保留归属未被移除的父级工作项的任务。
具体解决步骤
方法一:改造现有平面查询(快速适配)
如果你想在已有的任务查询基础上修改,可以按以下步骤操作:
- 打开你的任务查询,进入查询编辑器界面
- 点击顶部的「添加链接」按钮,选择**父级(Parent)**链接类型
- 在新出现的筛选行中设置:
- 工作项类型 = User Story
- 状态 <> Removed
- 为了确保Epic层级也被过滤,再次点击「添加链接」,选择父级(对应User Story的父级Feature):
- 工作项类型 = Feature
- 状态 <> Removed
- 最后添加Epic层级的筛选:
- 点击「添加链接」,选择父级(对应Feature的父级Epic)
- 工作项类型 = Epic
- 状态 <> Removed
- 保留你原来的任务状态筛选:状态 In ("Active", "New", "Development", "QA", "Review", "Closed")
方法二:使用工作项树查询(层级更清晰)
如果你想直观看到任务的归属层级,推荐用树状查询:
- 创建一个新的工作项树查询
- 顶级节点选择「Epic」,设置筛选条件:状态 <> Removed
- 点击「添加子级」,选择「Feature」,设置筛选条件:状态 <> Removed
- 继续添加子级「User Story」,筛选条件:状态 <> Removed
- 最后添加子级「Task」,设置你需要的状态筛选:状态 In ("Active", "New", "Development", "QA", "Review", "Closed")
- 运行查询后,你只会看到未被移除的Epic→Feature→User Story下的符合状态的任务
一些注意事项
- 确保
Removed状态的拼写和你TFS系统里的完全一致,TFS的状态名称是大小写敏感的 - 如果你的项目里Feature层级不是必须的(比如部分User Story直接挂在Epic下),可以跳过Feature的筛选步骤,直接关联User Story到Epic的父级链接
- 完成后记得保存这个查询,以后就能直接复用啦
内容的提问来源于stack exchange,提问作者Roy
相关产品推荐
相关产品推荐

