Azure DevOps 查询工作项(如果有任何父项正在进行中)

Wiz*_*mer 4 azure wiql azure-devops

我正在努力识别所有没有故事点估计的产品积压项目。然而,我们现在有太多的 PBI(产品积压项目)需要估计。这简直是​​一团糟。我需要一个查询来帮助缩小工作范围。我知道如何创建 Azure DevOps 查询,以便返回所有没有工作价值的产品积压项目。

\n\n

wiql看起来像这样

\n\n
SELECT\n    [System.Id],\n    [System.WorkItemType],\n    [System.Title],\n    [System.AssignedTo],\n    [System.State],\n    [System.Tags],\n    [Microsoft.VSTS.Scheduling.Effort]\nFROM workitems\nWHERE\n    [System.TeamProject] = @project\n    AND [System.WorkItemType] = 'Product Backlog Item'\n    AND [System.State] = 'New'\n    AND [Microsoft.VSTS.Scheduling.Effort] = ''\n
Run Code Online (Sandbox Code Playgroud)\n\n

但是,我需要它再添加一个步骤,过滤掉没有父母或祖父母处于活动状态的项目。

\n\n

问题 :

\n\n
\n

我可以使用的查询是什么,该工作只给我\xe2\x80\x9cPBI\xe2\x80\x9ds我没有在新的状态下做出努力,其中一个或多个父母(递归)有一个状态正在进行中?

\n
\n

小智 6

首先,对于工作项,\xe2\x80\x99s 不存在名为 \xe2\x80\x9cGrandparents\xe2\x80\x9d 的关系。

\n\n

对于像 PBI p 这样的特定工作项,它只能有一个像功能 F1 一样的 \xe2\x80\x9cParent\xe2\x80\x9d ,至于功能 F1,如果它有一个像另一个功能 F2 一样的父项,您可以将其称为它逻辑上是PBI p 的\xe2\x80\x9cGrandparent\xe2\x80\x9d,但实际上这个Feature F2 与PBI p 无关。请检查工作链接类型以更好地理解。

\n\n

另外,如果要在Azure DevOps中查询\xe2\x80\x9cParent\xe2\x80\x9d等关系,可以将查询\xe2\x80\x9d的\xe2\x80\x9cType更改为\xe2\x80 \x9c工作项和直接链接\xe2\x80\x9d。您可以检查使用直接链接查看依赖项以获取更多信息。

\n\n

请参考下面的wiql,您将看到如何查询努力为空状态为\xe2\x80\x9cI n Progress \xe2\x80\x9d的PBI :

\n\n
SELECT\n[System.Id],\n[System.WorkItemType],\n[System.Title],\n[System.AssignedTo],\n[System.State],\n[System.Tags]\nFROM workitemLinks\nWHERE\n    (\n        [Source].[System.TeamProject] = @project\n        AND [Source].[System.WorkItemType] = \'Product Backlog Item\'\n        AND [Source].[System.State] = \'New\'\n        AND [Source].[Microsoft.VSTS.Scheduling.Effort] = \'\'\n    )\n    AND (\n        [System.Links.LinkType] = \'System.LinkTypes.Hierarchy-Reverse\'\n    )\n    AND (\n        [Target].[System.TeamProject] = @project\n        AND [Target].[System.WorkItemType] <> \'\'\n        AND [Target].[System.State] = \'In Progress\'\n    )\nORDER BY [System.Id]\nMODE (MustContain)\n
Run Code Online (Sandbox Code Playgroud)\n\n

下面是相应的查询编辑器:

\n\n

在此输入图像描述

\n


Sha*_*der 6

您可以使用树工作项查询类型(在我的例子中用于用户故事):

SELECT 
    [System.Id], [System.WorkItemType], [System.Title], [System.AssignedTo], [System.State], [System.Tags] 
FROM 
    WorkItemLinks 
WHERE 
    ([Source].[System.TeamProject] = '<Your_project>'  AND ( [Source].[System.WorkItemType] = 'Feature'  OR  [Source].[System.WorkItemType] = 'Epic' ) AND  [Source].[System.State] <> 'New')
     And ([System.Links.LinkType] = 'System.LinkTypes.Hierarchy-Forward') 
     And ([Target].[System.WorkItemType] = 'User story'  AND  [Target].[System.State] <> 'New'  AND  [Target].[Microsoft.VSTS.Scheduling.Effort] = '') 
 ORDER BY [System.Id] 
 mode(Recursive,ReturnMatchingChildren)
Run Code Online (Sandbox Code Playgroud)

查询编辑器:

在此输入图像描述