【问题标题】:How to restrict TFS item links to a specific type?如何将 TFS 项目链接限制为特定类型?
【发布时间】:2019-03-05 15:11:40
【问题描述】:

我有以下 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);

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

【问题讨论】:

    标签: tfs wiql


    【解决方案1】:

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

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

    如下:

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

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

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

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

    【讨论】:

    • 当我添加此限制时,我收到以下异常消息:'链接查询不能混合具有不同前缀的表达式。该错误是由«[System.Links.LinkType]»'引起的。
    • 好的,我明白了。上述问题是由于不正确的嵌套括号造成的。
    【解决方案2】:

    只需添加这个:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-01-06
      • 2021-08-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多