vNext TFS 2015构建 - 从构建中删除变更集和工作项关联,然后重新添加它们

时间:2016-11-16 22:32:55

标签: tfs build vnext

目标环境:TFS 2015 Update 3

我们正在尝试获取vNext构建系统,以允许我们仅在通过发布管理部署后将变更集和工作项关联到构建。但是,TFS vNext构建系统会在构建时自动将这些项目与构建相关联(基于上次成功构建)。旧的XAML构建系统有一个属性可以将其关闭,称为SkipGetChangesetsAndUpdateWorkItems,但它在新系统中不再存在。

因此,我需要在vNext构建过程结束时添加一个任务/脚本来删除这些关联(然后向Release Management添加类似的任务以重新关联它们)。这不是世界上最简单的任务,但似乎应该可以通过TFS REST API实现。

然而,我不能为我的生活找出这些联系是如何形成的。 Changesets的JSON似乎没有提到关联的构建,构建的JSON似乎没有提到关联的变更集列表。

如何定义变更集/工作项和构建之间的这些关联?

1 个答案:

答案 0 :(得分:1)

没有这样的Rest API可以实现删除变更集。在XAML构建中,相关信息存储在名为dto.tbl_BuildDefinition的SQL表中,您希望为LastBuildUriLastGoodBuildUriLastGoodBuildLabel重新关联变更集并更改值。详细信息请参考此链接: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