Team Foundation Server 2015(Update 2.1)数据库中存储的工作项和构建/发布之间的关系在哪里?
构建和发布API,根据其文档,可以查询与构建/发布相关的任何工作项,如下所示:
http://tfsservername:8080/tfs/collectionname/Sandbox/_apis/build/builds/2872/workitems
http://tfsservername:8080/tfs/collectionname/Sandbox/_apis/Release/releases/19/workitem
WorkItem API没有此类调用。
仅背景信息 目前TFS 2015 Update 2.1中的工作项目无法选择添加链接'发布 - 这使得项目经理很难处理工作项部署,在数十个项目上管理数十个构建/发布。我想颠倒上述API调用所使用的查询,以添加此功能。
答案 0 :(得分:1)
目前,WorkItem,Release和Build API都不包含任何基于WorkItems定位Release的调用。
同样,这些信息并不存在于Tfs_Warehouse数据库中(通过启用TFS报告/分析而创建),实际上在撰写本文时,没有“发布”信息。在那里的信息。
要通过工作项查找版本,您可以使用团队项目数据库来访问此信息。尽管不存在直接关系,但您可以对加载版本时由TFS调用的各种存储过程进行反向工程(此时显示WorkItems):
DECLARE @workItem int;
SET @workItem = 751;
SELECT *
FROM Release.tbl_Release AS r
JOIN Release.tbl_ReleaseArtifactSource AS a ON a.ReleaseId = r.Id
JOIN Build.tbl_Change AS c ON c.BuildId = a.ArtifactVersionId
JOIN tbl_Mention AS m ON m.SourceId LIKE CONCAT('%', c.Descriptor, '%') -- Guid
WHERE m.ArtifactId = @workItem;
然后,您可以通过Web API或通过编程方式注入WorkItem Team Query并通过TFS Extension调用来查询此查询。