2017-11-03 25 views
0

状況を設定したいオーケストレーションビルドが、特定のことをしなかった場合に部分的に成功するようにしました。 Xamlビルドでは、ビルドのCompilationStatusとTestStatusを設定することでそれを実行できます。部分的に成功したTFS 2017ビルドを設定する

TFSビルドの場合、ビルド結果を更新するためにTFS Rest APIを呼び出すように設定することで試行できます。呼び出しの後

$query = [uri]::EscapeUriString("$tfsCollection$tfsProject/_apis/build/builds/$buildId`?api-version=2.0") 
$request = "{""result"":""$result""}" 
try { 
    $result = Invoke-RestMethod -Method PATCH -UseDefaultCredentials -ContentType "application/json" -Uri $query -Body $request 
} 
catch{ 
    Write-Output "StatusCode:" + $_.Exception.Response.StatusCode.value__ + 
       "`r`nStatusDescription:" + $_.Exception.Response.StatusDescription 
} 

、私はそのことを示すオレンジ色にビルド変化のリボンが部分的に成功していることがわかります。ただし、ビルドのビルドの最終段階が実行されると、ビルドが成功するように変更されます。

enter image description here

私は最終ビルドが部分的に成功した状態で終了することを何をすべき。

+0

特定の手順で制御オプション "継続エラー"を有効にします。しかし、前提は、通常、ステップが特定のことをしなければ失敗するということです。このオプションは正常に機能しません。 –

答えて

1

制御オプションを[エラー時に続行]に設定してタスクを追加できます。このタスクが失敗すると、ビルドは部分的に成功します。 enter image description here

+0

ありがとうございます。はい、タスクから例外をスローして「エラー時に続行」に設定すると、そのトリックが完了したようです –

関連する問題