2017-09-20 9 views
0

VSTSビルドの実行中に以前のビルド変数にアクセスできますか?たとえば、以前のビルドの$(Build.SourceVersion)または$(Build.QueuedBy)を取得できますか?VSTS(VSTS API)の以前のビルド情報を確認してください

$(Build.SourceVersion)のようなビルド変数で現在のビルド情報を取得できますが、$(Build.Previous.SourceVersion)のようなものを取得できますか?

+0

いいえ、その情報で何を達成しようとしていますか? –

+0

最後に成功したビルドのソースバージョンと最新のビルドを比較する – user3364161

+0

どのような目的のためにですか? –

答えて

0

いいえ「Previous」は、あなたが並行して実行できることについて話しているときには、漠然とした概念です。 3つのビルドを同時に実行している場合はどうなりますか?

+0

これは、継続的な統合プロジェクトのためのものです。ビルドをトリガーする新しいコードをチェックインするとき。最後に成功したビルドからのレポを、今トリガーされたビルドと比較したいと思います。 – user3364161

0

以前のビルド情報の組み込み変数がありません。このビルド中にPowerShellを使用してBuilds REST API(完了、inProgressなどのフィルタステータスを指定できます)を呼び出すことができます。 (結果の最初の項目が最新のものである)REST APIを呼び出すについて

$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)} 

いくつかの記事:Calling VSTS APIs with PowerShellは、VSTS/TFS REST API: The basics and working with builds and releases

あなたはスクリプトがOAuthのアクセスを許可を確認してください(パスワードとしてSystem.AccessToken変数の値を使用することができますオプション]タブのトークンオプション)とユーザー名は何でもかまいません。

+0

私はREST APIを見ていますが、少し難しかったです。私は$ uri = "$ vstsAccount" + "DefaultCollection/$ projectName/_apis/build/builds" + "$ buildId" + "api-version = 2.0"を持っています。戻り値はこの例とは異なります。 – user3364161

+0

@ user3364161何が違うのですか? –

関連する問題