Team Foundation Server中按成员,任务和工作时间的表关系是什么?

时间:2018-09-28 15:14:17

标签: tfs tfs-workitem tfs-reports

我需要从TFS数据库中提取一些数据,但找不到所需的表。 我们使用TFS来衡量生产率(项目,用户故事,任务等),并且我必须使用直接连接到TFS数据库的Excel来制作生产率指标,以指示用户和任务的工作时间。 我有成员表,但没有与工作项/任务和工作时间的关系

SELECT * FROM [ADObjects] where ObjectCategory = 2 order by DisplayName

TFS 15.117.27024.0的版本

  

编辑

好吧,我找到了一种通过SQL查询访问所需数据的方法:

 SELECT o.SamAccountName as Usuario
        ,MAX(Microsoft_VSTS_Common_ClosedDate) AS Fecha
        ,[WorkItem]
        ,SUM([Microsoft_VSTS_Scheduling_CompletedWork]) as Horas
        ,MAX([System_Rev]) AS UltimoMovimiento
        ,System_Id as WorkItemId
  FROM [tfs_warehouse].[dbo].[WorkItemHistoryView] wi
  join [Tfs_OurDomain].dbo.ADObjects o on o.DisplayName = wi.System_AssignedTo and o.DomainName = 'DomainName'
  where System_State = 'Closed' and System_WorkItemType in ('Bug','Task') and System_AssignedTo is not null
  and o.SamAccountName = 'MemberName' 
  and Microsoft_VSTS_Common_ClosedDate between '20180501' and '20181101'
  group by [WorkItem],o.SamAccountName,System_Id
  order by o.SamAccountName asc

1 个答案:

答案 0 :(得分:0)

不支持直接查询TFS_ * Collection数据库和TFS_Configuration数据库。该模式甚至可以在较小的更新之间进行更改,并且在过去的发行版中会定期进行重大更改。针对该数据库运行查询可能会对TFS安装的性能产生负面影响。

为了支持报告,TFS附带了报告功能。 TFS仓库(如果在安装中启用)将以简单的可查询格式包含您要查找的大多数数据。这些仓库表包含的数据集更为有限,并且在主要版本中架构保持相同,即使在不同的主要版本之间也没有太大变化。 The process hasn't changed since it's introduction,但是当Azure DevOps Analytics Service可用于本地TFS安装时,该功能已失效。这将通过ODATA提要公开数据。

analytics service is currently forecasted for TFS 2019

  

Analytics-适用于Azure DevOps Server Reporting 2019

如果您的TFS安装无法使用Warehouse Cube,则可以使用TFS REST API来查询所需要的所有数据。以下API可让您访问所需的数据:

可以通过.NET扩展Excel,并使用该功能查询REST API,然后您可以use the .NET Extensibility in Excel to populate lists in excel with the data from these REST APIs并从这些列表中生成报告。