首页 > 解决方案 > 如何将 TFS 项目链接限制为特定类型?

问题描述

我有以下 tfs wiql 查询,它返回一个项目和所有链接项目(子项目、相关项目等):

var query = string.Format("SELECT * FROM WorkItemLinks WHERE " +
                "Source.[System.Id] IN ({0}) " +
                "AND (Target.[System.State] <> 'Deleted'" +
                "AND (Target.[System.WorkItemType] = 'eScrum Sprint Task' OR Target.[System.WorkItemType] = 'Bug') " +              
                "AND Target.[System.Title] not contains 'css') mode(MayContain)", storiesRange);

如何限制此查询以使其仅返回子类型的链接项?

标签: tfswiql

解决方案


如果您不知道如何为您的自定义工作项查询编写一些 WIQL。

您可以首先使用可视化窗口在 Web 门户 UI 中创建您的工作项查询。

比如下图:

在此处输入图像描述

然后保存查询并在 Visual Studio 中打开查询。或者您可以使用一些 3 方扩展,例如这个 - Wiql Editor

它将直接将工作项查询转换为 WIQL 语言。例如上述查询的 WIQL 应该是:

在此处输入图像描述

所以根据上面的信息来限制这个查询,使它只返回子类型的链接项目,你应该添加这个限制:

[System.Links.LinkType] = 'System.LinkTypes.Hierarchy-Forward'


推荐阅读