Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/tfs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Tfs 如何查询变更集过多的工作项_Tfs_Changeset_Workitem - Fatal编程技术网

Tfs 如何查询变更集过多的工作项

Tfs 如何查询变更集过多的工作项,tfs,changeset,workitem,Tfs,Changeset,Workitem,这些工作项(以及链接的变更集)通常容易出错。 所以,优秀的应聘者对于团队代码的审核,应该多加注意 我已经检查了和,但仍然无法有效地获取这些工作项(包括变更集的数量) 有没有这样的查询方法(这里应该是WIQL,SQL语法仅供演示) 或者有没有一种有效的方法来使用API,而不需要读取每个工作项来获得计数 或者只能通过直接在数据库()上执行SQL查询来实现 或者我们可以使用类似CurrentRelatedLinkCount的东西作为查询字段,默认情况下(从VS IDE或API)支持它吗?没有表架构是很

这些工作项(以及链接的变更集)通常容易出错。 所以,优秀的应聘者对于团队代码的审核,应该多加注意

我已经检查了和,但仍然无法有效地获取这些工作项(包括变更集的数量)

有没有这样的查询方法(这里应该是WIQL,SQL语法仅供演示)

或者有没有一种有效的方法来使用API,而不需要读取每个工作项来获得计数

或者只能通过直接在数据库()上执行SQL查询来实现


或者我们可以使用类似CurrentRelatedLinkCount的东西作为查询字段,默认情况下(从VS IDE或API)支持它吗?

没有表架构是很困难的。但我猜你是想这么做:

SELECT [Source].[System.Id], COUNT(1) AS Changesets FROM WorkItemLinks
WHERE [Source].[System.WorkItemType] = 'Bug'
    AND [System.Links.LinkType] = 'Changeset'
GROUP BY [Source].[System.Id]
HAVING COUNT(1) > 5

我说的对吗?

报表可以做到这一点-报表生成器支持SQL。

如果安装了SQL Server Analysis Services,则可以查询关系。以下是如何在Excel中执行此操作:

  • 连接到Excel中的Tfs_分析多维数据集(数据-->其他源-->Analysis Services)
  • 选择工作项变更集字段
  • 查找版本控制变更集维度,并选择变更集ID
  • 查找工作项维度并选择ID
  • 这将允许您查询工作项和变更集之间的关系。如果将一个显示为行字段,另一个显示为列字段,然后获取每行的小计,这将为您提供每个工作项的变更集计数(以及每个变更集的工作项计数)

    但是,请注意,在TFS中的一个非常大的项目上运行此查询可能会非常昂贵,因此您应该对一小部分变更集和一小部分工作项执行此操作。为此,请注意,要过滤变更集的日期,您需要使用日期维度,而要过滤工作项的日期,您需要使用其中一个工作项字段(创建日期、更改日期等)


    通过从仓库更改OLAP多维数据集的ETL过程,您可能可以修改OLAP多维数据集,以便将此信息放入事实表中,在这种情况下,您只需查询变更集计数。

    您可以对变更集链接使用ExternalInkCount。

    更好的SQL查询。但是,WIQL不支持COUNT。
    SELECT [Source].[System.Id], COUNT(1) AS Changesets FROM WorkItemLinks
    WHERE [Source].[System.WorkItemType] = 'Bug'
        AND [System.Links.LinkType] = 'Changeset'
    GROUP BY [Source].[System.Id]
    HAVING COUNT(1) > 5