2016-03-30 27 views
0

Ich verwende RESTAPI in einem PowerShell-Skript, um alle Changesets seit dem letzten erfolgreichen Build abzurufen, die in einem vNext VSTS-Buildschritt aufgerufen werden.VSTS Build RestAPI Abrufen von Changesets vom letzten erfolgreichen oder teilweise erfolgreichen Build

$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 

Dann durchlaufen ich die Changesets und schreibe Details in eine Datei.

Das funktioniert in Ordnung, wenn ich einen erfolgreichen Build habe.
Es funktioniert nicht, wenn ich einen teilweise erfolgreichen Build habe, d. H. Einige Einschränkungstests fehlgeschlagen.

Es enthält alle Changesets von dem erfolgreichen Build statt seit dem letzten partiellen erfolgreichen Build.

Ich möchte alle Changesets seit dem letzten erfolgreichen oder teilweise erfolgreichen Build abrufen, je nachdem, was zuletzt war.

Ist das möglich?

Antwort

0

Nein, ist es nicht eine Möglichkeit, Mach das für jetzt. Die "get build changes" api vergleicht immer mit dem letzten erfolgreichen Build, um die Änderungen beim aktuellen Build zu erhalten. Es gibt keine Option, um es mit dem letzten Build zu vergleichen, egal, ob der Build-Status Erfolg oder Teilerfolg ist. Sie können hierfür eine Feature-Anfrage an VSTS User Voice senden.

1

Sie können versuchen, resultFilter Parameter hinzuzufügen, wenn eine Liste bekommen baut:

$CurrentBuildUrl = $TfsUrl + "/_apis/build/builds?api-version=2.0"+ "&definitions=" + "&resultFilter=" + "&`$top=1" 

resultFilter: enum {gelungen, partiallySucceeded}

Verwandte Themen