Link TFS 2015 服务器上 SSRS 报告中每个变更集的“任务”工作项
Link 'task" workitem to every changeset in the SSRS report on TFS 2015 Server
我已经在 TFS 服务器上为变更集 ID 创建了 SSRS 报告。我想添加一列,其中还会提到与每个变更集 ID 关联的任务编号,因为一个变更集 ID 可能有不同的任务。请给我一些解决方案。
SELECT --distinct
[project_name],
ChangeSetId,
CreationDate,
Comment,
ProviderDisplayName,
DisplayName
FROM tbl_changeset as c
JOIN
tbl_IdentityMap IM
ON C.OwnerID = IM.localId
JOIN tfs_configuration.dbo.tbl_Identity u
ON IM.MasterID = u.Id
JOIN
[tbl_Version] v
ON v.VersionFrom = c.ChangeSetId
JOIN
[dbo].[vw_projects] p
ON p.DataspaceId = v.ItemDataspaceId
WHERE p.project_name = 'XXXX'
ORDER BY C.CreationDate,
C.ChangeSetID DESC
我针对 TFS 2015 测试了@kevchadders 编写的,它工作正常。
因此,您可以根据查询相应地自定义报告。
要查看结果,您可以 运行 直接在您的 Sql 服务器上进行以下查询:
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 [Tfs_Warehouse].[dbo].[DimFile] df
JOIN [Tfs_Warehouse].[dbo].[FactCodeChurn] fcc ON df.FileSK = fcc.FilenameSK
JOIN [Tfs_Warehouse].[dbo].[FactWorkItemChangeset] fwi ON fcc.ChangesetSK = fwi.ChangesetSK
JOIN [Tfs_Warehouse].[dbo].[DimWorkItem] dwi ON fwi.WorkItemID = dwi.System_id
AND fwi.TeamProjectCollectionSK = dwi.TeamProjectCollectionSK
AND fwi.RemovedDateTime = CONVERT(DATETIME, N'9999', 126)
JOIN [Tfs_Warehouse].[dbo].[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
此外,如果你想导出变更集报告到excel:
也可以参考这篇文章
Find Changeset details for all work items in a TFS Query
更新:
TFS仓库无法使用问题:
数据仓库架构已更改,现有仓库数据库已过时。因此,您可以尝试创建一个新仓库,然后在管理控制台中重建。
参考这篇文章来解决这个问题:http://blogs.ripple-rock.com/richarderwin/2014/11/06/TFSWarehouseTheDatabaseYouSpecifiedCannotBeUsed.aspx
我已经在 TFS 服务器上为变更集 ID 创建了 SSRS 报告。我想添加一列,其中还会提到与每个变更集 ID 关联的任务编号,因为一个变更集 ID 可能有不同的任务。请给我一些解决方案。
SELECT --distinct
[project_name],
ChangeSetId,
CreationDate,
Comment,
ProviderDisplayName,
DisplayName
FROM tbl_changeset as c
JOIN
tbl_IdentityMap IM
ON C.OwnerID = IM.localId
JOIN tfs_configuration.dbo.tbl_Identity u
ON IM.MasterID = u.Id
JOIN
[tbl_Version] v
ON v.VersionFrom = c.ChangeSetId
JOIN
[dbo].[vw_projects] p
ON p.DataspaceId = v.ItemDataspaceId
WHERE p.project_name = 'XXXX'
ORDER BY C.CreationDate,
C.ChangeSetID DESC
我针对 TFS 2015 测试了@kevchadders 编写的
因此,您可以根据查询相应地自定义报告。
要查看结果,您可以 运行 直接在您的 Sql 服务器上进行以下查询:
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 [Tfs_Warehouse].[dbo].[DimFile] df
JOIN [Tfs_Warehouse].[dbo].[FactCodeChurn] fcc ON df.FileSK = fcc.FilenameSK
JOIN [Tfs_Warehouse].[dbo].[FactWorkItemChangeset] fwi ON fcc.ChangesetSK = fwi.ChangesetSK
JOIN [Tfs_Warehouse].[dbo].[DimWorkItem] dwi ON fwi.WorkItemID = dwi.System_id
AND fwi.TeamProjectCollectionSK = dwi.TeamProjectCollectionSK
AND fwi.RemovedDateTime = CONVERT(DATETIME, N'9999', 126)
JOIN [Tfs_Warehouse].[dbo].[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
此外,如果你想导出变更集报告到excel:
也可以参考这篇文章Find Changeset details for all work items in a TFS Query
更新:
TFS仓库无法使用问题:
数据仓库架构已更改,现有仓库数据库已过时。因此,您可以尝试创建一个新仓库,然后在管理控制台中重建。
参考这篇文章来解决这个问题:http://blogs.ripple-rock.com/richarderwin/2014/11/06/TFSWarehouseTheDatabaseYouSpecifiedCannotBeUsed.aspx