2016-05-13 55 views
1

如果構建失敗或不成功,我正嘗試執行不同的操作(例如複製到發佈中的其他目錄)。我無法找到任何有關任何變量的文檔,如果它失敗或不能通知我。任何人都可以讓我知道如何判斷構建是否失敗?如何判斷TFS vNext構建是否通過變量失敗?

+0

您是否在使用發佈管理髮布文件?或者您想知道構建定義中構建步驟的通過/失敗狀態,然後確定下一步發佈文件的位置? –

+0

我們有一些沒有MSDN帳戶的QA人員。如果不訪問TFS,他們無法確定他們在網絡上發佈的構建是否失敗。我想追加成功或失敗的網絡路徑。 –

回答

3

您可以創建一個PowerShell腳本調用Rest API獲得構建信息(您需要啓用替代憑據):

[String]$buildID = "$env:BUILD_BUILDID" 
[String]$project = "$env:SYSTEM_TEAMPROJECT" 
[String]$projecturi = "$env:SYSTEM_TEAMFOUNDATIONCOLLECTIONURI" 

$username="alternativeusername" 
$password="alternativepassword" 

$basicAuth= ("{0}:{1}"-f $username,$password) 
$basicAuth=[System.Text.Encoding]::UTF8.GetBytes($basicAuth) 
$basicAuth=[System.Convert]::ToBase64String($basicAuth) 
$headers= @{Authorization=("Basic {0}"-f $basicAuth)} 

$url= $projecturi + $project + "/_apis/build/builds/" + $buildID + "/timeline?api-version=2.0" 
Write-Host $url 

$responseBuild = Invoke-RestMethod -Uri $url -headers $headers -Method Get | select records 

然後你可以檢查結果的信息,看是否有任何失敗的步驟,然後執行您想要的操作:

foreach ($record in $responseBuild.records) 
{ 
    $result = $record.result 
    ##xxxxxxxxxxxxxxxxxxxx 
} 
相關問題