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

如何修改WiQL查询,筛选有子用户故事且所有子项已关闭的未完结Feature?

修改WiQL查询:仅保留有子用户故事且全关闭的未完结Feature

你的原查询用MODE (DoesNotContain)确实能排除掉带有未关闭子用户故事的Feature,但会把没有任何子用户故事的Feature也包含进来——因为这类Feature自然也不存在"未关闭的子用户故事",符合DoesNotContain的匹配逻辑。

要解决这个问题,只需要在查询里额外增加一个条件:确保Feature至少存在一个子用户故事(不管状态)。可以通过EXISTS子查询实现,具体修改后的WiQL如下:

SELECT
        [System.Id],
        [System.Title],
        [System.AreaPath],
        [System.IterationPath],
        [System.Tags]
FROM workitemLinks
WHERE
        -- 原有的Feature状态和类型条件
        (
                [Source].[System.State] <> 'Closed'
                AND [Source].[System.State] <> 'Removed'
                AND [Source].[System.WorkItemType] = 'Feature'
        )
        -- 新增:确保当前Feature至少有一个子用户故事(Hierarchy链接)
        AND EXISTS (
            SELECT [System.Id]
            FROM workitemLinks
            WHERE
                [Source].[System.Id] = [Parent].[System.Id]
                AND [System.Links.LinkType] = 'System.LinkTypes.Hierarchy-Forward'
                AND [Target].[System.WorkItemType] = 'User Story'
        )
        -- 原有的链接类型和子用户故事状态条件
        AND (
                [System.Links.LinkType] = 'System.LinkTypes.Hierarchy-Forward'
        )
        AND (
                [Target].[System.State] <> 'Closed'
                AND [Target].[System.WorkItemType] = 'User Story'
        )
ORDER BY [Target Date] ASC
MODE (DoesNotContain)

关键修改说明:

  • EXISTS子查询会检查当前Feature是否存在至少一个Hierarchy类型的子用户故事,直接过滤掉没有子项的Feature。
  • 原有的MODE (DoesNotContain)继续发挥作用:排除那些存在未关闭子用户故事的Feature。
  • 两者结合后,最终结果就只会是:状态非Closed/Removed、有子用户故事且所有子用户故事均已关闭的Feature。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 12:33:21