Azure devops Azure DevOps查询Epic中的所有PBI

Azure devops Azure DevOps查询Epic中的所有PBI,azure-devops,azure-devops-rest-api,wiql,Azure Devops,Azure Devops Rest Api,Wiql,我尝试查询工作项数据,以获得属于给定Epic的PBI的平面列表,其父关系为Epic>Feature>PBI。 Wiql在这方面似乎是有限的,我找不到“join”子句 在SQL中,我会这样做(伪脚本): 背景是创建一个共享查询(甚至使用API)并构建一个仪表板图表,以查看给定Epic中PBI的数量和状态 知道如何实现这种查询吗?我们可以列出Epic中的所有子项,而不是所有PBI,请使用下面的WIQL从特定的父工作项(ID)获取所有子项: 选择 [System.Id], [System.WorkIt

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

在SQL中,我会这样做(伪脚本):

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


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

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

选择
[System.Id],
[System.WorkItemType],
[系统名称],
[System.AssignedTo],
[系统状态],
[系统标签]
从工作项链接
哪里
(
[来源][System.TeamProject]=@project
和[Source]。[System.WorkItemType]=“Epic”
和[来源][系统状态]''
和[Source].[System.Id]={Epic Id}
)
及(
[System.Links.LinkType]=“System.LinkTypes.Hierarchy Forward”
)
及(
[Target].[System.TeamProject]=@project
和[Target]。[System.WorkItemType]=“产品待办事项”
)
订购人[系统Id]
模式(递归)

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


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

选择
[System.Id],
[System.WorkItemType],
[系统名称],
[System.AssignedTo],
[系统状态],
[系统标签]
从工作项链接
哪里
(
[来源][System.TeamProject]=@project
和[Source]。[System.WorkItemType]=“Epic”
和[来源][系统状态]''
和[Source].[System.Id]={Epic Id}
)
及(
[System.Links.LinkType]=“System.LinkTypes.Hierarchy Forward”
)
及(
[Target].[System.TeamProject]=@project
和[Target]。[System.WorkItemType]=“产品待办事项”
)
订购人[系统Id]
模式(递归)

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


谢谢你的回答。第一个查询/方式是我知道但不能使用的,因为我只想要PBI,第二个查询/方式使用标记是我想要避免的,因为忘记设置标记是很有可能的。我们可以将查询导出到Excel,然后过滤它吗?我找不到另一种方法只列出PBI,thx作为您的答案。第一个查询/方式是我知道但不能使用的,因为我只想要PBI,第二个查询/方式使用标记是我想要避免的,因为忘记设置标记是很有可能的。我们可以将查询导出到Excel,然后过滤它吗?我找不到其他方法只列出PBI,
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'
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)