【发布时间】:2016-07-18 07:55:32
【问题描述】:
我在 PowerShell 脚本中使用 RESTAPI 来检索自上次成功构建(在 vNext VSTS 构建步骤中调用)以来的所有变更集。
$TfsUrl = 'https://' + $Account + '.visualstudio.com/defaultcollection/' + $ProjectName
$CurrentBuildUrl = $TfsUrl + "/_apis/build/builds?api-version=2.0"+ "&definitions=" + $BuildDefinitionID + "&`$top=1"
$CurrentBuildDef = Invoke-RestMethod -Uri $CurrentBuildUrl -Headers $Headers -Method Get
$BuildId = $CurrentBuildDef.value.id
$BaseUrl = "https://" + $Account + ".visualstudio.com/defaultcollection/_apis/tfvc/changesets"
$ChangeSetHistoryUrl = $TfsUrl + "/_apis/build/builds/$BuildId/changes?api-version=2.0"
$ChangeSetsHistoryDef = (Invoke-RestMethod -Uri $ChangeSetHistoryUrl -Headers $Headers -Method Get).value
然后我遍历变更集并将详细信息写入文件。
当我成功构建时,这可以正常工作。
当我有部分成功的构建时它不起作用,即一些约束测试失败。
它包括来自成功构建的所有变更集,而不是自最新的部分成功构建以来的所有变更集。
我想检索自上次成功或部分成功构建以来的所有变更集,以最后一个为准。
这可能吗?
【问题讨论】:
标签: visual-studio powershell tfsbuild azure-devops