6

这些工作项(和链接的变更集)通常容易出错。所以,优秀的人选进行团队代码审查,应该多加注意。

我已经检查了 Link Query 的Work Item Query Language 和 Client Object ModelWIQL 语法,但仍然无法有效地获取这些工作项(带有变更集的数量)。

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

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 Changesets > 5

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

还是只能通过直接在数据库上执行 SQL 查询来实现(像这样)?

或者我们可以将默认情况下(来自 VS IDE 或 API)支持的CurrentRelatedLinkCount/ ExternalLinkCount / HyperLinkCount / RelatedLinkCount作为查询字段吗?

4

4 回答 4

3

您可以将 ExternalLinkCount 用于变更集链接。 在此处输入图像描述

于 2014-11-04T12:30:07.063 回答
0

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

  1. 连接到 Excel 中的 Tfs_Analysis 多维数据集(数据 --> 其他来源 --> 分析服务)
  2. 选择工作项变更集字段,
  3. 查找版本控制变更集维度,然后选择变更集 ID
  4. 查找工作项维度并选择 ID

这将允许您查询工作项和变更集之间的关系。如果您将一个显示为 Row 字段,另一个显示为 Column 字段,然后获取每一行的小计,这将为您提供每个工作项的变更集计数(以及每个变更集的工作项计数)。

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

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

于 2014-08-15T17:46:31.397 回答
0

报告会这样做 - 报告生成器支持 SQL。

于 2014-07-28T03:59:22.703 回答
0

没有你的表模式是很困难的。但我猜你正在尝试这样做:

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

我对吗?

于 2012-04-14T16:43:17.373 回答