2017-09-20 3 views
0

Sind frühere Buildvariablen während der Ausführung eines VSTS-Builds zugänglich? Kann ich zum Beispiel $ (Build.SourceVersion) oder $ (Build.QueuedBy) vom vorherigen Build erhalten?Überprüfen Sie die vorherigen Build-Informationen in VSTS (VSTS-API)

Ich kann aktuelle Build-Informationen über die Build-Variablen wie $ (Build.SourceVersion) bekommen, aber kann ich etwas wie $ (Build.Previous.SourceVersion) bekommen?

+0

Nein. Was versuchen Sie mit diesen Informationen zu erreichen? –

+0

Vergleichen der Quellversion des letzten erfolgreichen Builds mit dem letzten Build – user3364161

+0

Zu welchem ​​Zweck? –

Antwort

0

Nein. "Zurück" ist ein nebulöses Konzept, wenn Sie über Dinge sprechen, die parallel ablaufen können. Was passiert, wenn 3 Builds gleichzeitig ausgeführt werden?

+0

Es ist für ein kontinuierliches Integrationsprojekt. Wenn jemand neuen Code eincheckt, der einen Build auslöst; Ich möchte den Repo vom letzten erfolgreichen Build mit dem Build vergleichen, der gerade ausgelöst wurde. – user3364161

0

Es gibt keine integrierten Variablen für vorherige Build-Informationen, die Problemumgehung besteht darin, dass Sie während dieses Builds Builds REST API (kann Filterstatus, wie abgeschlossen, inProgress) über PowerShell aufrufen können. (Das erste Element des Ergebnisses ist die neueste)

$base64authinfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(("{0}:{1}" -f $User, $Password))) 
$responseFromGet = Invoke-RestMethod -Method Get -ContentType application/json -Uri $Uri -Headers @{Authorization=("Basic {0}" -f $base64authinfo)} 

Einige Artikel über Aufruf REST API: Calling VSTS APIs with PowerShell, VSTS/TFS REST API: The basics and working with builds and releases

Sie Wert von System.AccessToken Variable als Passwort verwenden können (Check Skripte zulassen OAuth zugreifen Token Option in Optionen Registerkarte) und Benutzername kann alles sein.

+0

Ich schaue durch die REST-API, habe aber ein bisschen Schwierigkeiten. Ich habe $ uri = "$ vstsAccount" + "DefaultCollection/$ projectName/_apis/build/builds /" + "$ buildId" + "? Api-version = 2.0" und ich führe ein GET auf es aber die Daten es Rückkehr ist anders als im Beispiel. – user3364161

+0

@ user3364161 Was ist das anders? –

Verwandte Themen