【问题标题】:TFS 2010 - query needed to join three levels of WorkItemsTFS 2010 - 查询需要加入三个级别的工作项
【发布时间】:2012-03-14 23:46:22
【问题描述】:

我只是在配置一些工作项类型来管理我们的发布 - 我已经完成了很多工作,但我看不到如何获取查询以列出我需要的内容。

我的用户故事将“应用程序部署”工作项类型作为子项。每个应用程序部署代表一个要部署的应用程序。一个用户故事可能需要更改两个应用程序。这是父子关系。

除此之外,我还有“发布”工作项类型。每个版本代表我们将部署软件的一天。一个版本将有几个与之相关的用户故事——我认为使用 LinkType 的网络拓扑。这是因为一个用户故事实际上可能与多个版本相关联(例如,如果我们先发布到一个地区,然后在一周后发布到所有剩余地区)。

我想要的是一个列出需要发布哪些应用程序的查询:-

  • 发布“14/03/2012”
    • 应用程序部署“MyWebApp1”
    • 应用程序部署“SomeWindowsService”

2012 年 3 月 14 日发布 应用

【问题讨论】:

    标签: tfs workitem


    【解决方案1】:

    如果我理解正确,您希望返回与给定“发布”关联的所有“应用程序部署”工作项类型。

    在查询编辑器中,您应该可以将查询类型选择为“工作项树”,并将查询设置为Work Item Type = Release,并选择与查询Work Item Type = Application Deployment 匹配的链接工作项。

    您当然可以添加其他查询过滤器。

    这将为您提供大致以下 WIQL:

    SELECT
        [System.Id], [System.WorkItemType], [System.Title],
        [System.AssignedTo], [System.State]
    FROM WorkItemLinks WHERE
        (
            [Source].[System.TeamProject] = @project
            AND [Source].[System.WorkItemType] = 'Release'
            AND [Source].[System.State] <> ''
        )
        AND ([System.Links.LinkType] = 'System.LinkTypes.Hierarchy-Forward')
        AND [Target].[System.WorkItemType] = 'Application Deployment'
    ORDER BY [System.Id]
    mode(Recursive)
    

    【讨论】:

    • 嗨,Edward,是的,我的问题的本质是正确的。我曾尝试过“工作项树”,但我认为这受到工作项必须具有层次关系(父/子)这一事实的限制。我的用户故事有一个“网络”类型的拓扑将它们连接到发布 - 这是因为用户故事可以连接到多个发布。无论如何感谢您的帮助!
    • 啊哈,一开始我并没有完全理解你的链接。感谢您的澄清。
    猜你喜欢
    • 2011-11-27
    • 1970-01-01
    • 2011-02-16
    • 2012-01-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-01
    相关资源
    最近更新 更多