2017-02-22 20 views
1

Wir haben einen CI-Build-Server, der automatisierte Builds ausführt und die aktuelle Sprint-/Iterationsnummer in die Assembly-Version aufnehmen möchte. Gibt es eine Umgebungsvariable oder eine einfache Möglichkeit, die aktuelle Sprint-Nummer in den Build-Prozessen zu erhalten? TFS On Permise 2015 Update 3TFS Build variabler aktueller Sprint TFS 2015

Antwort

5

Es gibt keine eingebaute Variable, um den aktuellen Sprint zu erhalten, aber Sie können REST API verwenden. Schritte:

  1. hinzufügen Powershell-Datei an die Quellcodeverwaltung (zB in Ihrem Projekt enthalten und Check-in)

Code:

Param(
    [string]$collection, 
    [string]$projectName, 
    [string]$token 
) 
$uri="$collection/$projectName/_apis/work/teamsettings/iterations?`$timeframe=current&api-version=v2.0-preview" 
Write-Output $uri 
$result = Invoke-RestMethod -Uri $uri -Method Get -Headers @{Authorization=("Bearer {0}" -f $token)} 

Write-Output "success" 
Write-Output $result.value.path 

Write-Host "##vso[task.setvariable variable=currentSprint;]$($result.value.path)" 
  1. Bearbeiten Sie Ihre Build-Definition
  2. Klicken Sie auf die Registerkarte Optionen, und aktivieren Sie Skripts für den Zugriff auf OAuth Token

enter image description here

  1. In Schritt Powershell-Build und Powershell-Datei (Schritt 1) ​​(Argumente angeben: -collection $ (System.TeamFoundationCollectionUri) -projectName $ (System.TeamProject) - Token $ (System.AccessToken))

enter image description here

Danach wird der aktuelle Wert in Sprint currentSprint Variable gespeichert.