【问题标题】:Get history of work item with a script SQL directly from TFS database使用脚本 SQL 直接从 TFS 数据库获取工作项的历史记录
【发布时间】:2023-03-11 11:10:02
【问题描述】:

出于我不会告诉你不要无聊的原因..我需要直接访问数据库以提取注释特征。所以我创建了这个脚本来识别我感兴趣的项目

选择 * FROM [Tfs_GedCollection].[dbo].[tbl_WorkItemCoreLatest] 内部连接 ​​[Tfs_GedCollection].[dbo].[tbl_WorkItemCustomLatest] b ON a.PartitionId=b.PartitionId AND a.DataspaceId=b.DataspaceId AND a.Id = b.Id 其中 a.[WorkItemType] = '特征' 和 b.FieldId IN ( -- 坎波密码 从 [Tfs_GedCollection].[dbo].[tbl_Field] 中选择 [FieldId] 其中 [Tfs_GedCollection].[dbo].[tbl_Field].[Name] = 'CODICEMMA'-- 申请识别我公司的项目 )

但是我错过了最后一步:获取历史记录(通过type = WorkItemLogControl(映射到fieldname = System.History)的控件插入的讨论。

提前致谢

【问题讨论】:

  • 您不应直接针对 TFS 数据库编写查询。

标签: sql database tfs workitem


【解决方案1】:

不建议查询原始数据库,也不建议修改TFS中的数据库数据。

但是,您可以使用 FactWorkItemHistory 查询有关功能、任务和其他类型工作项的历史数据,相关的维度表显示在 TFS 数据仓库中。更多详情请参考Work Item History tables

另一种方法是使用 TFS API 来实现这一点。如何实现请看:TFS SDK: Work Item History Visualizer using TFS API

【讨论】:

    【解决方案2】:

    我在视图中找到了我需要的信息:[vw_WorkItemComments](在名为 [Text] 的列中)。

    所以查询将是:

    -- 身份识别 SELECT b.stringvalue, c.[System.CreatedBy_IdentityDisplayPart], c.[System.ChangedDate], c.[Text]--, * FROM [Tfs_GedCollection].[dbo].[tbl_WorkItemCoreLatest] 内部连接 ​​[Tfs_GedCollection].[dbo].[tbl_WorkItemCustomLatest] b ON a.PartitionId=b.PartitionId AND a.DataspaceId=b.DataspaceId AND a.Id = b.Id 内部连接 ​​[Tfs_GedCollection].[dbo].[vw_WorkItemComments] c ON a.Id = c.[System.Id] 其中 a.[WorkItemType] = '特征' 和 b.FieldId IN ( -- 坎波密码 从 [Tfs_GedCollection].[dbo].[tbl_Field] 中选择 [FieldId] 其中 [Tfs_GedCollection].[dbo].[tbl_Field].[Name] = 'CODICEMMA'-- 申请识别我公司的项目 )

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-01-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多