Azure DevOps Server:如何通过WIQL筛选待办事项及其子工作项?
在Azure DevOps Server中用WIQL筛选待办事项及子工作项
关于Backlog Priority字段的筛选合理性
用Backlog Priority > 0筛选待办事项是有效的方案。默认配置下,只有被纳入待办(Backlog)的工作项会被赋予非0的Backlog Priority值,未纳入待办的工作项该字段值为0或空值。
包含子工作项的WIQL查询写法
要同时获取待办工作项及其所有层级的子工作项,需要使用递归查询(默认查询不会自动遍历层级关联),以下是完整的WIQL示例:
SELECT [System.Id], [System.Title], [System.WorkItemType], [Microsoft.VSTS.Common.BacklogPriority] FROM WorkItemLinks WHERE -- 筛选待办中的父工作项 (Source.[Microsoft.VSTS.Common.BacklogPriority] > 0) -- 指定层级关联类型(父项到子项) AND (System.Links.LinkType = 'System.LinkTypes.Hierarchy-Forward') -- 确保子项存在 AND (Target.[System.WorkItemType] IS NOT NULL) -- 启用递归模式,获取所有层级子项 MODE (Recursive)
关键说明
WorkItemLinks和MODE (Recursive)是实现递归查询的核心,会自动遍历所有层级的子工作项- 若你的项目流程自定义过字段,需确认
Backlog Priority的引用名是否为Microsoft.VSTS.Common.BacklogPriority——可在工作项类型的字段设置中查看 - 该查询会返回符合条件的待办父项,以及它们的所有子项;如果只想查看子项,可调整查询条件只保留
Target相关的筛选 - 若子工作项本身也被标记为待办(拥有非0的
Backlog Priority),递归逻辑会继续包含它们的子项,完整覆盖整个待办层级树
内容的提问来源于stack exchange,提问作者Oleksii Dz
相关产品推荐
相关产品推荐

