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

Number of WorkItems with changesets or linked items with changesets

我们有一个正在使用的系统,开发人员将使用 TFS 2010 中的新 'Support Ticket' 工作项记录支持票。如果因此发生代码更改,他们会将 link 变更集更改为此工作项类型。或者,如果系统中存在需要更改代码的相关 Bug,他们将 link 该 Bug 的支持票证,然后签入变更集 linked 到该 Bug。

我正在尝试在 TFS 中提取报告,或者最好使用 SQL,它会给我:

在SQL

中有没有办法做到这一点

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

仓库里的数据应该有你要的。例如,链接项有一个事实 table:

Work Item Changeset

Contains one row for each relationship between a work item revision and a changeset.

对于工作项历史记录:

Work Item History

Versioned file of work items using transition count and record count to aggregate information at a point in time.

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

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

WHERE 子句中注释掉的 df.FilePath 字段允许您过滤特定的 repositories/branches.

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 中是相同的