目标环境:TFS 2015 Update 3
我们正在尝试获取vNext构建系统,以允许我们仅在通过发布管理部署后将变更集和工作项关联到构建。但是,TFS vNext构建系统会在构建时自动将这些项目与构建相关联(基于上次成功构建)。旧的XAML构建系统有一个属性可以将其关闭,称为SkipGetChangesetsAndUpdateWorkItems,但它在新系统中不再存在。
因此,我需要在vNext构建过程结束时添加一个任务/脚本来删除这些关联(然后向Release Management添加类似的任务以重新关联它们)。这不是世界上最简单的任务,但似乎应该可以通过TFS REST API实现。
然而,我不能为我的生活找出这些联系是如何形成的。 Changesets的JSON似乎没有提到关联的构建,构建的JSON似乎没有提到关联的变更集列表。
如何定义变更集/工作项和构建之间的这些关联?
答案 0 :(得分:1)
没有这样的Rest API可以实现删除变更集。在XAML构建中,相关信息存储在名为dto.tbl_BuildDefinition
的SQL表中,您希望为LastBuildUri
,LastGoodBuildUri
和LastGoodBuildLabel
重新关联变更集并更改值。详细信息请参考此链接:Re-associate changesets and work items with build对于vNext构建定义,我在SQL中找不到类似的东西。但是必须存在一些存储关联的地方。
对于workitem和build之间的关联,有一个名为$WorkItemAssociatedURL
的方法,例如
$WorkItemAssociatedURL = $collectionURL + $project + “/_apis/build/builds/” + $BuildId + “/workitems?api-version=2.0”
$ResponseJSON = Invoke-RestMethod -Uri $WorkItemAssociatedURL -ContentType “application/json” -headers $headers -Method GET
有关详细信息,请参阅此博客:Build association with work Items in vNext