1

我尝试查询工作项数据以获取属于给定 Epic 的 PBI 的平面列表,其父关系为 Epic > Feature > PBI。Wiql似乎在这方面受到限制,我找不到“加入”子句。

在 SQL 中,我会以某种方式这样做(伪脚本):

select P.*
from Epic E
    inner join Feature F on E.Id = F.EpicId
    inner join Pbi P on F.Id = P.FeatureId
where E.Title = 'Project 1'

背景是创建共享查询(甚至使用 API)并构建仪表板图表以查看给定 Epic 中 PBI 的数量和状态。

知道如何实现这种查询吗?

4

1 回答 1

0

我们可以列出 Epic 中的所有子项而不是所有 PBI,请使用下面的 WIQL 从特定父工作项(ID)中获取所有子项:

SELECT
    [System.Id],
    [System.WorkItemType],
    [System.Title],
    [System.AssignedTo],
    [System.State],
    [System.Tags]
FROM workitemLinks
WHERE
    (
        [Source].[System.TeamProject] = @project
        AND [Source].[System.WorkItemType] = 'Epic'
        AND [Source].[System.State] <> ''
        AND [Source].[System.Id] = {Epic ID}
    )
    AND (
        [System.Links.LinkType] = 'System.LinkTypes.Hierarchy-Forward'
    )
    AND (
        [Target].[System.TeamProject] = @project
        AND [Target].[System.WorkItemType] = 'Product Backlog Item'
    )
ORDER BY [System.Id]
MODE (Recursive)

在此处输入图像描述

作为一种解决方法,当我们将子项(PBI)添加到史诗时,我们可以添加相同的标签并通过查询标签获取结果,然后我们可以创建仪表板图表来查看给定 Epic 中 PBI 的数量和状态.

在此处输入图像描述

于 2020-07-30T07:50:50.923 回答