具有变更集的工作项或具有变更集的链接项的数量

时间:2015-10-15 20:12:28

标签: sql tfs tfs-workitem

我们正在使用一个系统,开发人员可以使用新的支持服务单'来记录支持服务单。 TFS 2010中的工作项。如果更改了代码,他们会将变更集链接到此工作项类型。或者,如果系统中存在需要更改代码的相关错误,则会将支持服务单链接到错误,然后检查与错误相关联的变更集。

我试图在TFS中提取报告,或者最好使用提供给我的SQL:

  • 一个月内创建的支持服务单数量。
  • 包含已记录变更集的链接错误的支持服务单的数量
  • 直接链接到支持服务单的变更集的支持服务单数量。

有没有办法在SQL

中执行此操作

2 个答案:

答案 0 :(得分:1)

针对您的数据仓库运行此操作。此SQL将列出所有工作项及其关联的更改集。我已经在WHERE子句中注释了一些项目并将它们留下来让您了解可以过滤的内容,因为我不确定您在TFS中设置了哪些过程模板。

WHERE子句中注释掉的 df.FilePath 字段允许您过滤特定的存储库/分支。

SELECT DISTINCT --df.[FileName]
    --,df.FilePath
    dwi.System_title AS 'Title'
    ,dcs.ChangesetID AS 'ChangeSetID'
    ,dwi.System_id AS 'WorkItemID'
    ,dwi.System_WorkItemType
    ,dwi.System_State
    ,dwi.System_CreatedDate
    ,dwi.System_ChangedDate

FROM DimFile df 
JOIN FactCodeChurn fcc ON df.FileSK = fcc.FilenameSK
JOIN FactWorkItemChangeset fwi ON fcc.ChangesetSK = fwi.ChangesetSK
JOIN DimWorkItem dwi ON fwi.WorkItemID = dwi.System_id
AND fwi.TeamProjectCollectionSK = dwi.TeamProjectCollectionSK
AND fwi.RemovedDateTime = CONVERT(DATETIME, N'9999', 126)
JOIN DimChangeset dcs ON dcs.ChangesetSK = fcc.ChangesetSK 

WHERE dwi.System_revisedDate = CONVERT(DATETIME, N'9999', 126)
--AND df.FilePath LIKE '%$repositorylocation%'
--AND dwi.System_WorkItemType IN ('Product Backlog Item', 'Task', 'Bug')

ORDER BY dcs.ChangesetID

此代码是针对TFS 2013运行的,但我相信2010年的Schema是相同的

答案 1 :(得分:0)

假设您已配置报告,则可以针对TFS data warehouse或TFS分析多维数据集编写查询。 不要直接针对项目集合数据库编写查询。

仓库中的数据应包含您之后的内容。例如,链接项有一个Fact表:

  

工作项目变更集

     

工作项修订和变更集之间的每个关系都包含一行。

对于工作项目历史记录:

  

工作项目历史

     

工作项的版本化文件,使用转换计数和记录计数来汇总某个时间点的信息。

可能需要一些棘手的查询,但数据应该在那里。