【问题标题】:TFS Query: get only topmost elements assigned to meTFS 查询:仅获取分配给我的最顶层元素
【发布时间】:2014-01-30 19:49:56
【问题描述】:

我正在尝试构建一个 tfs 查询,它将仅返回分配给我的最顶层项目。 例子:

  • UserStory (US) 已分配给我并包含已分配的任务 对我来说 => 查询只返回美国
  • US 分配给其他人, 但它包含分配给我的任务 => 查询返回 任务
  • US 分配给我,但任务分配给其他人 => 查询返回美国

我很难弄清楚如何访问任务的父级,或者这甚至不是正确的方法。我正在使用 VS 和 TFS 2010。想法?

[编辑] 另一个想法是编写一个 wiql 查询,查找分配给我的所有项目,然后检查链接是否具有某些属性,但我不确定。在 TFS2013 中应该有类似的东西(“首先匹配顶级工作项”),除非这只是一个排序选项。

【问题讨论】:

    标签: tfs wiql


    【解决方案1】:

    这对于一个查询是不可能的,至少您需要 2 个,因为您不能将链接过滤器与查询的一部分结合起来:

    • 平面列表

    WorkItemType = UserStory AND AssignedTo = @ME

    • 工作项和直接链接

    WorkItemType = 任务 AND AssignedTo = @ME

    链接工作项的过滤器:

    WorkItemType = UserStory AND AssignedTo @ME

    返回所有顶级工作项

    第一个查询将仅列出分配给您的所有用户故事,无论某些内容是否已链接。第二个查询将列出分配给您的所有任务,但没有分配给您的 UserStory 链接。

    [编辑]

    另一种选择是结合这两个查询,但我无法在我的环境中对其进行测试:

    • 工作项和直接链接

    (WorkItemType = 任务 OR WorkItemType = 用户故事) AND AssignedTo = @ME

    链接工作项的过滤器:

    WorkItemType = UserStory AND AssignedTo @ME

    返回所有顶级工作项

    这将列出分配给您但没有链接父用户故事的所有用户故事和任务。

    [编辑2]

    <?xml version="1.0" encoding="utf-8"?><WorkItemQuery Version="1"><TeamFoundationServer>http://tfs:8080/tfs/DefaultCollection</TeamFoundationServer><TeamProject>Test</TeamProject><Wiql>SELECT [System.Id], [System.Links.LinkType], [System.WorkItemType], [System.Title], [System.AssignedTo], [System.State] FROM WorkItemLinks WHERE ([Source].[System.TeamProject] = @project  AND ( [Source].[System.WorkItemType] = 'Task'  OR  [Source].[System.WorkItemType] = 'UserStory' ) AND  [Source].[System.AssignedTo] = @me) And ([System.Links.LinkType] &lt;&gt; '') And ([Target].[System.WorkItemType] = 'UserStory'  AND  [Target].[System.AssignedTo] &lt;&gt; @me) ORDER BY [System.Id] mode(MayContain)</Wiql></WorkItemQuery>
    

    【讨论】:

    • 这不是我想要的,也许 wiql 查询会更好
    • 您想在代码中运行 WIQL 吗?因为我不知道在哪里可以使用它。我添加了第三个查询,这可能会解决您的问题。
    • 实际上,如果您将查询保存到文件中,您会注意到它基本上包含 标记之间的 wiql 代码。因此,您可以创建任何 Wiql 查询并运行它,从而不受 vs 查询编辑器的限制。
    • 为第三次查询添加了 WIQL
    • 我非常感谢您的努力(赞成),但正如您所知,您的解决方案并不是我想要的。
    猜你喜欢
    • 2012-03-31
    • 2019-01-08
    • 2022-01-24
    • 2011-05-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多