2017-03-16 11 views
1

Ich habe ein PowerShell-Skript (Start-TargetBuild.ps1), das ich von einem 2015 vNext-Teambuild anrufe. Dieses Skript verwendet die REST-Schnittstelle, um einen anderen Teambuild zu starten. Das Skript funktioniert einwandfrei, außer wenn ich versuche, dem ersten Build ein Shelveset hinzuzufügen. In diesem Fall erhalte ich den folgenden Fehler:So lösen Sie einen Build mit einem Shelveset in TFS 2015 mithilfe der REST-API aus

Start-TargetBuild : Error in REST API call! 
At \\chdfileserver01\IT\PowerShell_Library\TeamBuild-Launch.ps1:426 char:2 
+ Start-TargetBuild 
+ ~~~~~~~~~~~~~~~~~ 
+ CategoryInfo : InvalidOperation: (:) [Write-Error], WriteErrorException 
+ FullyQualifiedErrorId : {"$id":"1","innerException":null,"message":"Value cannot be null.\r\nParameter name: build","typeName":"System.ArgumentNullException, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561 
934e089","typeKey":"ArgumentNullException","errorCode":0,"eventId":0}.ErrorDetails.Message,Start-TargetBuild 

Was fehlt mir?

Danke.

Antwort

1

Um einen Build mit einem Shelveset auszulösen, sollten Sie sourceBranch Parameter im REST API Körper verwenden.

sourceBranch: "The shelveset name","The shelveset owner" 
+0

Danke Patrick. Das führt zur nächsten Frage - wie greife ich auf den Shelveset-Namen/Besitzer von PowerShell in einem Teambuild zu? Ich kann im Schritt "Get sources" sehen, wo das Shelveset nicht in den Build-Arbeitsbereich eingefügt wird. Also wird diese Information natürlich dem Build mitgeteilt. –

+0

@ LS-1 Um die Shelveset-Informationen zu erhalten, können Sie die [Get List of Shelvesets] (https://www.visualstudio.com/en-us/docs/integrate/api/tfvc/shelvesets) Rest-API verwenden, die zurückgegeben wird Detailinformation von Regalen. An den Besitzer, schlagen Sie vor, Sie verwenden "uniqueName:" [email protected] "' –

+2

Macht nichts von meinem vorherigen Kommentar. Ich sehe, dass die Informationen zu den Regalsätzen in den Umgebungsvariablen enthalten sind, die an den Teambuild übergeben werden. $ env: BUILD_SOURCETFVCSHELVESET –

Verwandte Themen