定義済み変数の使用

Azure DevOps Services |Azure DevOps Server 2022 - Azure DevOps Server 2019 |TFS 2018

注意

Microsoft Team Foundation Server (TFS) 2018 以前のバージョンでは、ビルドとリリースの "パイプライン" は "定義"、"実行" は "ビルド"、"サービス接続" は "サービス エンドポイント"、"ステージ" は "環境"、"ジョブ" は "フェーズ" と呼ばれます。

変数を使用すると、パイプラインのさまざまな部分にデータの重要なビットを取得する便利な方法が提供されます。 これは、使用できる定義済みの変数の一覧です。 他にも定義済みの変数がいくつかありますが、主に内部使用用です。

これらの変数は、システムによって自動的に設定され、読み取り専用です。 (例外は Build.Clean と System.Debug です)。

YAML パイプラインでは、定義済みの変数を環境変数として参照できます。 たとえば、 変数 Build.ArtifactStagingDirectory は 変数 BUILD_ARTIFACTSTAGINGDIRECTORYになります。

クラシック パイプラインの場合、デプロイ タスクで リリース変数 を使用して、共通の情報 (環境名、リソース グループなど) を共有できます。

変数の操作の詳細については、こちらを参照してください。

Build.Clean

これは、ビルド エージェントがソースをクリーンアップする方法を変更する非推奨の変数です。 ソースをクリーンアップする方法については、「 エージェントのローカル リポジトリをクリーンアップする」を参照してください。

System.AccessToken

System.AccessToken は、実行中のビルドで使用されるセキュリティ トークンを運ぶ特別な変数です。

YAML では、変数を使用してパイプラインに明示的にマップ System.AccessToken する必要があります。 これは、ステップ レベルまたはタスク レベルで実行できます。

steps:
  - bash: echo This script could use $SYSTEM_ACCESSTOKEN
    env:
      SYSTEM_ACCESSTOKEN: $(System.AccessToken)
  - powershell: | 
      Write-Host "This is a script that could use $env:SYSTEM_ACCESSTOKEN"
      Write-Host "$env:SYSTEM_ACCESSTOKEN = $(System.AccessToken)"
    env:
      SYSTEM_ACCESSTOKEN: $(System.AccessToken)

ビルド ジョブ承認スコープを使用するための既定のSystem.AccessTokenスコープを構成できます。

System.Debug

パイプラインの問題をデバッグするための詳細なログについては、 を定義 System.Debug して に設定します true

  1. パイプラインを編集します。

  2. [変数] を選択します。

  3. 名前 System.Debug と値 trueを持つ新しい変数を追加します。

    システム デバッグを true に設定する

  4. 新しい変数を保存します。

を にtrue設定System.Debugすると、すべての実行の詳細ログが構成されます。 [ システム診断を有効にする] チェックボックスを使用して、1 回の実行の詳細ログを構成することもできます。 詳細については、「 ログを確認してパイプラインの問題を診断する」を参照してください。

エージェント変数 (DevOps Services)

注意

エージェント変数は、スクリプトの環境変数として、およびビルド タスクのパラメーターとして使用できます。 ビルド番号をカスタマイズしたり、バージョン コントロール のラベルやタグを適用したりするために使用することはできません。

変数説明
Agent.BuildDirectory

特定のビルド パイプラインのすべてのフォルダーが作成されるエージェントのローカル パス。 この変数の値は と Pipeline.Workspace同じです。

たとえば次のようになります。/home/vsts/work/1

Agent.ContainerMapping

YAML のコンテナー リソース名から実行時の Docker ID へのマッピング。

たとえば次のようになります。

{
  "one_container": {
    "id": "bdbb357d73a0bd3550a1a5b778b62a4c88ed2051c7802a0659f1ff6e76910190"
  },
  "another_container": {
    "id": "82652975109ec494876a8ccbb875459c945982952e0a72ad74c91216707162bb"
  }
}

Agent.HomeDirectory エージェントがインストールされているディレクトリ。 これにはエージェント ソフトウェアが含まれます。 (例: c:\agent)。
Agent.Id エージェントの ID。
Agent.JobName 実行中のジョブの名前。 通常、これは "Job" または "__default" になりますが、マルチ構成シナリオでは 構成になります。
Agent.JobStatus ビルドの状態。
  • Canceled
  • Failed
  • Succeeded
  • SucceededWithIssues (部分的に成功)

環境変数は として AGENT_JOBSTATUS参照する必要があります。 旧バージョン agent.jobstatus は、下位互換性のために使用できます。

Agent.MachineName エージェントがインストールされているコンピューターの名前。
Agent.Name

プールに登録されているエージェントの名前。

セルフホステッド エージェントを使用している場合、この名前はユーザーによって指定されます。 「エージェント」を参照してください。

Agent.OS エージェント ホストのオペレーティング システム。 有効な値は次のとおりです。
  • Windows_NT
  • Darwin
  • Linux
コンテナーで実行している場合、エージェントホストとコンテナーが異なるオペレーティング システムを実行している可能性があります。
Agent.OSArchitecture エージェント ホストのオペレーティング システム プロセッサ アーキテクチャ。 有効な値は次のとおりです。
  • X86
  • X64
  • ARM
Agent.TempDirectory

各パイプライン ジョブの後にクリーンアップされる一時フォルダー。 このディレクトリは、発行前にテスト結果などの一時的な項目を保持するために 、.NET Core CLI タスクなどのタスク によって使用されます。

例: /home/vsts/work/_temp Ubuntu の場合

Agent.ToolsDirectory ノード ツール インストーラーPython バージョンを使用して複数のバージョンのツールを切り替えるなどのタスクで使用されるディレクトリ。 これらのタスクにより、このディレクトリから にツールが PATH 追加され、後続のビルド ステップでツールを使用できるようになります。

セルフホステッド エージェントでこのディレクトリを管理する方法について説明します。
Agent.WorkFolder このエージェントの作業ディレクトリ。 (例: c:\agent_work)。

注: このディレクトリは、パイプライン タスク (コンテナーにマップされている場合など) によって書き込み可能であるとは限りません。

ビルド変数 (DevOps Services)


変数説明テンプレートで使用できますか?
Build.ArtifactStagingDirectory

成果物がコピー先にプッシュされる前にコピーされるエージェントのローカル パス。 たとえば次のようになります。c:\agent_work\1\a

このフォルダーを使用する一般的な方法は、[ ファイルのコピー ] タスクと [ビルド成果物の発行] タスクを使用して ビルド成果物を発行 することです。

注: Build.ArtifactStagingDirectory と Build.StagingDirectory は交換可能です。 このディレクトリは新しいビルドの前に消去されるため、自分でクリーンアップする必要はありません。

Azure Pipelines の成果物」を参照してください。

この変数はエージェント スコープであり、スクリプトの環境変数およびビルド タスクのパラメーターとして使用できますが、ビルド番号の一部またはバージョン管理タグとして使用することはできません。

いいえ
Build.BuildId 完了したビルドのレコードの ID。 いいえ
Build.BuildNumber 完了したビルドの名前 。実行番号とも呼ばれます。 この値 に含まれるものを 指定できます。

この変数の一般的な用途は、 リポジトリ タブで指定したラベル形式の一部にすることです。

注: この値には、空白文字またはその他の無効なラベル文字を含めることができます。 このような場合、 ラベルの形式 は失敗します。



この変数はエージェント スコープであり、スクリプトの環境変数およびビルド タスクのパラメーターとして使用できますが、ビルド番号の一部またはバージョン管理タグとして使用することはできません。

いいえ
Build.BuildUri ビルドの URI。 (例: vstfs:///Build/Build/1430)。

この変数はエージェント スコープであり、スクリプトの環境変数およびビルド タスクのパラメーターとして使用できますが、ビルド番号の一部またはバージョン管理タグとして使用することはできません。
いいえ
Build.BinariesDirectory コンパイル済みバイナリの出力フォルダーとして使用できるエージェントのローカル パス。

既定では、このディレクトリをクリーンアップするように新しいビルド パイプラインは設定されません。 ビルドを定義して、[ リポジトリ] タブでクリーンアップできます。

(例: c:\agent_work\1\b)。

この変数はエージェント スコープであり、スクリプトの環境変数およびビルド タスクのパラメーターとして使用できますが、ビルド番号の一部またはバージョン管理タグとして使用することはできません。
いいえ
Build.ContainerId 成果物のコンテナーの ID。 パイプラインに成果物をアップロードすると、その特定の成果物に固有のコンテナーに追加されます。 いいえ
Build.DefinitionName ビルド パイプラインの名前。

注: この値には、空白文字またはその他の無効なラベル文字を含めることができます。 このような場合、 ラベルの形式 は失敗します。

はい
Build.DefinitionVersion ビルド パイプラインのバージョン。 はい
Build.QueuedBy ID 変数はどのように設定されますか?」を参照してください。

注: この値には、空白文字またはその他の無効なラベル文字を含めることができます。 このような場合、 ラベルの形式 は失敗します。

はい
Build.QueuedById ID 変数はどのように設定されますか?」を参照してください。 はい
Build.Reason ビルドの実行の原因となったイベント。
  • Manual: ユーザーがビルドを手動でキューに入れた。
  • IndividualCI: Git プッシュまたは TFVC チェックインによってトリガーされる継続的インテグレーション (CI)。
  • BatchedCI: Git プッシュまたは TFVC チェックインによってトリガーされ、Batch の変更が選択された継続的インテグレーション (CI)。
  • Schedule: スケジュールされた トリガー。
  • ValidateShelveset: ユーザーが特定の TFVC シェルブセットのビルドを手動でキューに入れた。
  • CheckInShelveset: ゲートチェックイン トリガー。
  • PullRequest: ビルドは、ビルドを必要とする Git ブランチ ポリシーによってトリガーされました。
  • BuildCompletion: ビルドは 別のビルドによってトリガーされました
  • ResourceTrigger: ビルドはリソース トリガーによってトリガーされたか、別のビルドによってトリガーされました
「パイプライン トリガーのビルド」ブランチ ポリシーを使用したコード品質の向上に関するページを参照してください。
はい
Build.Repository.Clean ソース リポジトリの設定[クリーン] に選択した値。

この変数はエージェント スコープであり、スクリプトの環境変数およびビルド タスクのパラメーターとして使用できますが、ビルド番号の一部またはバージョン管理タグとして使用することはできません。
いいえ
Build.Repository.LocalPath

ソース コード ファイルがダウンロードされるエージェントのローカル パス。 たとえば次のようになります。c:\agent_work\1\s

既定では、新しいビルド パイプラインは変更されたファイルのみを更新します。 [ リポジトリ] タブでファイルのダウンロード方法を変更できます。

重要な注意: 1 つの Git リポジトリのみをチェックアウトした場合、このパスはコードへの正確なパスになります。 複数のリポジトリをチェックアウトすると、動作は次のようになります (Build.SourcesDirectory 変数の値とは異なる場合があります)。

  • セルフ (プライマリ) リポジトリのチェックアウト ステップにカスタム チェックアウト パスが定義されていない場合、またはチェックアウト パスがセルフ リポジトリのマルチチェックアウトの既定のパス $(Pipeline.Workspace)/s/<RepoName> である場合、この変数の値は 既定値 () $(Pipeline.Workspace)/sに戻ります。
  • セルフ (プライマリ) リポジトリのチェックアウト ステップにカスタム チェックアウト パスが定義されている場合 (また、マルチチェックアウトの既定のパスではありません)、この変数にはセルフ リポジトリへの正確なパスが含まれます。
この変数はエージェント スコープであり、スクリプトの環境変数およびビルド タスクのパラメーターとして使用できますが、ビルド番号の一部またはバージョン管理タグとして使用することはできません。
いいえ
Build.Repository.ID リポジトリの一意識別子。

リポジトリの名前が変更された場合でも、これは変更されません。

この変数はエージェント スコープであり、スクリプトの環境変数およびビルド タスクのパラメーターとして使用できますが、ビルド番号の一部またはバージョン管理タグとして使用することはできません。
いいえ
Build.Repository.Name トリガーする リポジトリの名前。

この変数はエージェント スコープであり、スクリプトの環境変数およびビルド タスクのパラメーターとして使用できますが、ビルド番号の一部またはバージョン管理タグとして使用することはできません。
いいえ
Build.Repository.Provider トリガーする リポジトリの型。 この変数はエージェント スコープであり、スクリプトの環境変数およびビルド タスクのパラメーターとして使用できますが、ビルド番号の一部またはバージョン管理タグとして使用することはできません。 いいえ
Build.Repository.Tfvc.Workspace リポジトリがTeam Foundation バージョン管理されている場合に定義されます。 ビルド エージェントによって使用される TFVC ワークスペース の名前。


たとえば、Agent.BuildDirectory が で c:\agent_work\12 、Agent.Id が の場合、 8ワークスペース名は次のようになります。 ws_12_8

この変数はエージェント スコープであり、スクリプトの環境変数およびビルド タスクのパラメーターとして使用できますが、ビルド番号の一部またはバージョン管理タグとして使用することはできません。
いいえ
Build.Repository.Uri トリガーするリポジトリの URL。 例: この変数はエージェント スコープであり、スクリプトの環境変数およびビルド タスクのパラメーターとして使用できますが、ビルド番号の一部またはバージョン管理タグとして使用することはできません。 いいえ
Build.RequestedFor ID 変数はどのように設定されますか?」を参照してください。

注: この値には、空白文字またはその他の無効なラベル文字を含めることができます。 このような場合、 ラベルの形式 は失敗します。

はい
Build.RequestedForEmail ID 変数はどのように設定されますか?」を参照してください。 はい
Build.RequestedForId ID 変数はどのように設定されますか?」を参照してください。 はい
Build.SourceBranch ビルドがキューに登録されたトリガー リポジトリのブランチ。 次に例をいくつか示します。
  • Git リポジトリ ブランチ: refs/heads/main
  • Git リポジトリの pull request: refs/pull/1/merge
  • TFVC リポジトリ ブランチ: $/teamproject/main
  • TFVC リポジトリ ゲート チェックイン: Gated_2016-06-06_05.20.51.4369;username@live.com
  • TFVC リポジトリ シェルブセットのビルド: myshelveset;username@live.com
  • パイプラインがタグによってトリガーされた場合: refs/tags/your-tag-name
この変数をビルド番号形式で使用すると、スラッシュ文字 (/) がアンダースコア文字 _に置き換えられます。

注: TFVC では、ゲートチェックイン ビルドを実行している場合、またはシェルブセットを手動でビルドする場合、この変数をビルド番号形式で使用することはできません。
はい
Build.SourceBranchName ビルドがキューに登録されたトリガー リポジトリ内のブランチの名前。
  • Git リポジトリ ブランチ、pull request、またはタグ: ref 内の最後のパス セグメント。たとえば、この値では refs/heads/main です main。 この値は refs/heads/feature/tools です tools。 この値は refs/tags/your-tag-name です your-tag-name
  • TFVC リポジトリ ブランチ: ワークスペースのルート サーバー パスの最後のパス セグメント。 たとえば、この値では $/teamproject/main です main
  • TFVC リポジトリゲートチェックインまたはシェルブセットビルドは、シェルブセットの名前です。 たとえば、Gated_2016-06-06_05.20.51.4369;username@live.com または myshelveset;username@live.com です。
注: TFVC では、ゲートチェックイン ビルドを実行している場合、またはシェルブセットを手動でビルドする場合、この変数をビルド番号形式で使用することはできません。
はい
Build.SourcesDirectory

ソース コード ファイルがダウンロードされるエージェントのローカル パス。 たとえば次のようになります。c:\agent_work\1\s

既定では、新しいビルド パイプラインは変更されたファイルのみを更新します。

重要な注意: 1 つの Git リポジトリのみをチェックアウトした場合、このパスはコードへの正確なパスになります。 複数のリポジトリをチェックアウトすると、セルフ (プライマリ) リポジトリが $(Pipeline.Workspace)/sマルチチェックアウトの既定 $(Pipeline.Workspace)/s/<RepoName> のパスとは異なるカスタム パスにチェックアウトされた場合でも、既定値に戻ります (この点では、変数は Build.Repository.LocalPath 変数の動作とは異なります)。

この変数はエージェント スコープであり、スクリプトの環境変数およびビルド タスクのパラメーターとして使用できますが、ビルド番号の一部またはバージョン管理タグとして使用することはできません。

いいえ
Build.SourceVersion このビルドに含まれるトリガー リポジトリの最新バージョンコントロールの変更。 この変数はエージェント スコープであり、スクリプトの環境変数およびビルド タスクのパラメーターとして使用できますが、ビルド番号の一部またはバージョン管理タグとして使用することはできません。 はい
Build.SourceVersionMessage トリガーするリポジトリのコミットまたは変更セットのコメント。 最初の行または 200 文字のどちらか短い方にメッセージを切り捨てます。

Build.SourceVersionMessage 、コミット時のメッセージに Build.SourceVersion 対応します。 Build.SourceVersion PR ビルドのコミットはマージ コミットです (ソース ブランチのコミットではありません)。

この変数はエージェント スコープであり、スクリプトの環境変数およびビルド タスクのパラメーターとして使用できますが、ビルド番号の一部またはバージョン管理タグとして使用することはできません。 また、この変数はステップ レベルでのみ使用でき、ジョブ レベルとステージ レベルでは使用できません (つまり、ジョブが開始してコードをチェックアウトするまで、メッセージは抽出されません)。

注: この変数は TFS 2015.4 で使用できます。

注意

ビルドの進行中に Batch が変更された場合、 Build.SourceVersionMessage 変数は Bitbucket リポジトリ のクラシック ビルド パイプラインでは 機能しません。

いいえ
Build.StagingDirectory

成果物がコピー先にプッシュされる前にコピーされるエージェントのローカル パス。 たとえば次のようになります。c:\agent_work\1\a

このフォルダーを使用する一般的な方法は、[ ファイルのコピー ] タスクと [ビルド成果物の発行] タスクを使用して ビルド成果物を発行 することです。

注: Build.ArtifactStagingDirectory と Build.StagingDirectory は交換可能です。 このディレクトリは新しいビルドの前に消去されるため、自分でクリーンアップする必要はありません。

Azure Pipelines の成果物」を参照してください。

この変数はエージェント スコープであり、スクリプトの環境変数およびビルド タスクのパラメーターとして使用できますが、ビルド番号の一部またはバージョン管理タグとして使用することはできません。

いいえ
Build.Repository.Git.SubmoduleCheckout [リポジトリ] タブ[チェックアウト] サブモジュールで選択した値。複数のリポジトリがチェックアウトされた場合、この値はトリガーリポジトリの設定を追跡します。

この変数はエージェント スコープであり、スクリプトの環境変数およびビルド タスクのパラメーターとして使用できますが、ビルド番号の一部またはバージョン管理タグとして使用することはできません。
いいえ
Build.SourceTfvcShelveset リポジトリがTeam Foundation バージョン管理されている場合に定義されます。


ゲートビルドまたはシェルブセットビルドを実行している場合、これは構築するシェルブセットの名前に設定されます。

注: この変数は、ビルド番号形式でのビルド使用に無効な値を生成します。
いいえ
Build.TriggeredBy.BuildId ビルドが別の ビルドによってトリガーされた場合、この変数はトリガー元のビルドの BuildID に設定されます。 クラシック パイプラインでは、この変数はビルド完了トリガーによってトリガーされます。

この変数はエージェント スコープであり、スクリプトの環境変数およびビルド タスクのパラメーターとして使用できますが、ビルド番号の一部またはバージョン管理タグとして使用することはできません。

を使用して resourcesYAML パイプラインをトリガーする場合は、代わりに リソース変数 を使用する必要があります。
いいえ
Build.TriggeredBy.DefinitionId ビルドが別の ビルドによってトリガーされた場合、この変数はトリガー元のビルドの DefinitionID に設定されます。 クラシック パイプラインでは、この変数はビルド完了トリガーによってトリガーされます。

この変数はエージェント スコープであり、スクリプトの環境変数およびビルド タスクのパラメーターとして使用できますが、ビルド番号の一部またはバージョン管理タグとして使用することはできません。

を使用して resourcesYAML パイプラインをトリガーする場合は、代わりに リソース変数 を使用する必要があります。
いいえ
Build.TriggeredBy.DefinitionName ビルドが別の ビルドによってトリガーされた場合、この変数はトリガー元のビルド パイプラインの名前に設定されます。 クラシック パイプラインでは、この変数はビルド完了トリガーによってトリガーされます。

この変数はエージェント スコープであり、スクリプトの環境変数およびビルド タスクのパラメーターとして使用できますが、ビルド番号の一部またはバージョン管理タグとして使用することはできません。

を使用して resourcesYAML パイプラインをトリガーする場合は、代わりに リソース変数 を使用する必要があります。
いいえ
Build.TriggeredBy.BuildNumber ビルドが別の ビルドによってトリガーされた場合、この変数はトリガーするビルドの番号に設定されます。 クラシック パイプラインでは、この変数はビルド完了トリガーによってトリガーされます。

この変数はエージェント スコープであり、スクリプトの環境変数およびビルド タスクのパラメーターとして使用できますが、ビルド番号の一部またはバージョン管理タグとして使用することはできません。

を使用して resourcesYAML パイプラインをトリガーする場合は、代わりに リソース変数 を使用する必要があります。
いいえ
Build.TriggeredBy.ProjectID ビルドが別の ビルドによってトリガーされた場合、この変数はトリガー元のビルドを含むプロジェクトの ID に設定されます。 クラシック パイプラインでは、この変数はビルド完了トリガーによってトリガーされます。

この変数はエージェント スコープであり、スクリプトの環境変数およびビルド タスクのパラメーターとして使用できますが、ビルド番号の一部またはバージョン管理タグとして使用することはできません。

を使用して resourcesYAML パイプラインをトリガーする場合は、代わりに リソース変数 を使用する必要があります。
いいえ
Common.TestResultsDirectory テスト結果が作成されるエージェントのローカル パス。 たとえば次のようになります。c:\agent_work\1\TestResults

この変数はエージェント スコープであり、スクリプトの環境変数およびビルド タスクのパラメーターとして使用できますが、ビルド番号の一部またはバージョン管理タグとして使用することはできません。
いいえ

パイプライン変数 (DevOps Services)

変数説明
Pipeline.Workspace 特定のパイプラインのワークスペース ディレクトリ。 この変数の値は と Agent.BuildDirectory同じです。

たとえば、/home/vsts/work/1 となります。

ヒント

クラシック リリース パイプラインを使用している場合は、 クラシック リリースと成果物変数 を使用して、パイプライン全体でデータを格納およびアクセスできます。

デプロイ ジョブ変数 (DevOps Services)

これらの変数のスコープは特定の デプロイ ジョブ であり、ジョブの実行時にのみ解決されます。

変数説明
Environment.Name デプロイ 手順を実行し、デプロイ履歴を記録するデプロイ ジョブの対象となる環境の名前。 たとえば、「 smarthotel-dev 」のように入力します。
Environment.Id デプロイ ジョブの対象となる環境の ID。 たとえば、「 10 」のように入力します。
Environment.ResourceName デプロイ ジョブの対象となる環境内の特定のリソースの名前。デプロイ手順を実行し、デプロイ履歴を記録します。 たとえば、 は、 bookings 環境 smarthotel-devにリソースとして追加された Kubernetes 名前空間です。
Environment.ResourceId デプロイ 手順を実行するデプロイ ジョブの対象となる環境内の特定のリソースの ID。 たとえば、「 4 」のように入力します。
Strategy.Name デプロイ戦略の名前: canary、、 runOnceまたは rolling
Strategy.CycleName デプロイ内の現在のサイクル名。 オプションは、 PreIterationIteration、または PostIterationです。

システム変数 (DevOps Services)

変数説明テンプレートで使用できますか?
System.AccessToken OAuth トークンを使用して REST API にアクセスします

YAML スクリプトから System.AccessToken を使用します

この変数はエージェント スコープであり、スクリプトの環境変数およびビルド タスクのパラメーターとして使用できますが、ビルド番号の一部またはバージョン管理タグとして使用することはできません。
はい
System.CollectionId TFS コレクションまたは Azure DevOps 組織の GUID。 はい
System.CollectionUri TFS コレクションまたは Azure DevOps 組織の URI。 (例: https://dev.azure.com/fabrikamfiber/)。 はい
System.DefaultWorkingDirectory

ソース コード ファイルがダウンロードされるエージェントのローカル パス。 たとえば次のようになります。c:\agent_work\1\s

既定では、新しいビルド パイプラインは変更されたファイルのみを更新します。 [ リポジトリ] タブでファイルのダウンロード方法を変更できます。

この変数はエージェント スコープです。 スクリプトの環境変数として、およびビルド タスクのパラメーターとして使用できますが、ビルド番号の一部として、またはバージョン 管理タグとして使用することはできません。

はい
System.DefinitionId ビルド パイプラインの ID。 はい
System.HostType buildパイプラインがビルドの場合は に設定します。 リリースの場合、値は deployment デプロイ グループ ジョブ、 gates ゲートの評価中、およびその他の (エージェントおよび release エージェントレス) ジョブ用です。 はい
System.JobAttempt このジョブが初めて試行されると 1 に設定され、ジョブが再試行されるたびにインクリメントされます。 いいえ
System.JobDisplayName ジョブに与えられた人間が判読できる名前。 いいえ
System.JobId 1 つのジョブの 1 回の試行の一意識別子。 値は現在のパイプラインに対して一意です。 いいえ
System.JobName 通常、依存関係を表し、出力変数にアクセスするために使用されるジョブの名前。 いいえ
System.PhaseAttempt このフェーズが初めて試行されると 1 に設定され、ジョブが再試行されるたびにインクリメントされます。

メモ: "フェーズ" は、ジョブの設計時を表す、ほぼ冗長な概念です (一方、ジョブはフェーズのランタイム バージョンでした)。 ほとんどの場合、Azure Pipelines から "フェーズ" の概念を削除しました。 マトリックスジョブとマルチ構成ジョブは、"フェーズ" がまだ "ジョブ" とは異なる唯一の場所です。 1 つのフェーズで、入力のみが異なる複数のジョブをインスタンス化できます。
いいえ
System.PhaseDisplayName フェーズに与えられた人間が判読できる名前。 いいえ
System.PhaseName ジョブの文字列ベースの識別子。通常は、依存関係を表し、出力変数にアクセスするために使用されます。 いいえ
System.PlanId 1 つのパイプライン実行の文字列ベースの識別子。 いいえ
System.PullRequest.IsFork pull request がリポジトリのフォークからの場合、この変数は に True設定されます。 それ以外の場合は、 に False設定されます。 はい
System.PullRequest.PullRequestId このビルドの原因となった pull request の ID。 (例: 17)。 (この変数は、 ブランチ ポリシーの影響を受ける Git PR が原因でビルドが実行された場合にのみ初期化されます)。 いいえ
System.PullRequest.PullRequestNumber このビルドの原因となった pull request の数。 この変数は、異なる pull request ID と pull request 番号を持つ GitHub からの pull request に対して設定されます。 この変数は、PR がブランチ ポリシーの影響を受ける場合にのみ、YAML パイプラインで使用できます。 いいえ
System.PullRequest.SourceBranch pull request でレビューされているブランチ。 例: refs/heads/users/raisa/new-feature Azure Repos。 (この変数は、 ブランチ ポリシーの影響を受ける Git PR が原因でビルドが実行された場合にのみ初期化されます)。 この変数は、PR がブランチ ポリシーの影響を受ける場合にのみ、YAML パイプラインで使用できます。 いいえ
System.PullRequest.SourceRepositoryURI pull request を含むリポジトリへの URL。 (例: https://dev.azure.com/ouraccount/_git/OurProject)。 いいえ
System.PullRequest.TargetBranch pull request のターゲットであるブランチ。 たとえば、refs/heads/mainリポジトリがAzure Reposにある場合とmain、リポジトリが GitHub にある場合です。 この変数は、 ブランチ ポリシーの影響を受ける Git PR が原因でビルドが実行された場合にのみ初期化されます。 この変数は、PR がブランチ ポリシーの影響を受ける場合にのみ、YAML パイプラインで使用できます。 いいえ
System.StageAttempt このステージが初めて試行されると 1 に設定され、ジョブが再試行されるたびにインクリメントされます。 いいえ
System.StageDisplayName ステージに与えられた人間が判読できる名前。 いいえ
System.StageName ステージの文字列ベースの識別子。通常、依存関係を表し、出力変数にアクセスするために使用されます。 いいえ
System.TeamFoundationCollectionUri TFS コレクションまたは Azure DevOps 組織の URI。 (例: https://dev.azure.com/fabrikamfiber/)。

この変数はエージェント スコープであり、スクリプトの環境変数およびビルド タスクのパラメーターとして使用できますが、ビルド番号の一部またはバージョン管理タグとして使用することはできません。
はい
System.TeamProject このビルドを含むプロジェクトの名前。 はい
System.TeamProjectId このビルドが属するプロジェクトの ID。 はい
System.TimelineId 1 つのパイプライン実行の実行の詳細とログの文字列ベースの識別子。 いいえ
TF_BUILD スクリプトがビルド タスクによって実行されている場合は、 を に True 設定します。

この変数はエージェント スコープであり、スクリプトの環境変数およびビルド タスクのパラメーターとして使用できますが、ビルド番号の一部またはバージョン管理タグとして使用することはできません。
いいえ

変数をチェックする (DevOps Services)

変数説明
Checks.StageAttempt このステージを初めて試行する場合は 1 に設定し、ステージが再試行されるたびにインクリメントします。

この変数は、 承認または 環境のチェック内でのみ使用できます。 たとえば、REST API の呼び出しチェック内で を使用$(Checks.StageAttempt)できます。

Add the stage attempt as a parameter.

エージェント変数 (DevOps Server)

Note

エージェント変数は、スクリプトの環境変数として、およびビルド タスクのパラメーターとして使用できます。 ビルド番号をカスタマイズしたり、バージョン コントロール のラベルやタグを適用したりするために使用することはできません。

変数説明
Agent.BuildDirectory

特定のビルド パイプラインのすべてのフォルダーが作成されるエージェントのローカル パス。 この変数の値は と Pipeline.Workspace同じです。

たとえば次のようになります。/home/vsts/work/1

Agent.HomeDirectory エージェントがインストールされているディレクトリ。 これにはエージェント ソフトウェアが含まれます。 (例: c:\agent)。
Agent.Id エージェントの ID。
Agent.JobName 実行中のジョブの名前。 通常、これは "Job" または "__default" になりますが、マルチ構成シナリオでは 構成になります。
Agent.JobStatus ビルドの状態。
  • Canceled
  • Failed
  • Succeeded
  • SucceededWithIssues (部分的に成功)

環境変数は として AGENT_JOBSTATUS参照する必要があります。 旧バージョン agent.jobstatus は、下位互換性のために使用できます。

Agent.MachineName エージェントがインストールされているコンピューターの名前。
Agent.Name

プールに登録されているエージェントの名前。

セルフホステッド エージェントを使用している場合、この名前はユーザーによって指定されます。 「エージェント」を参照してください。

Agent.OS エージェント ホストのオペレーティング システム。 有効な値は次のとおりです。
  • Windows_NT
  • Darwin
  • Linux
コンテナーで実行している場合、エージェントホストとコンテナーが異なるオペレーティング システムを実行している可能性があります。
Agent.OSArchitecture エージェント ホストのオペレーティング システム プロセッサ アーキテクチャ。 有効な値は次のとおりです。
  • X86
  • X64
  • ARM
Agent.TempDirectory

各パイプライン ジョブの後にクリーンアップされる一時フォルダー。 このディレクトリは、発行前にテスト結果などの一時的な項目を保持するために 、.NET Core CLI タスクなどのタスク によって使用されます。

例: /home/vsts/work/_temp Ubuntu の場合

Agent.ToolsDirectory ノード ツール インストーラーPython バージョンを使用して複数のバージョンのツールを切り替えるなどのタスクで使用されるディレクトリ。 これらのタスクにより、このディレクトリから にツールが PATH 追加され、後続のビルド ステップでツールを使用できるようになります。

セルフホステッド エージェントでこのディレクトリを管理する方法について説明します。
Agent.WorkFolder このエージェントの作業ディレクトリ。 (例: c:\agent_work)。

注: このディレクトリは、パイプライン タスク (コンテナーにマップされている場合など) によって書き込み可能であるとは限りません。

ビルド変数 (DevOps Server)


変数説明テンプレートで使用できますか?
Build.ArtifactStagingDirectory

成果物がコピー先にプッシュされる前にコピーされるエージェントのローカル パス。 たとえば次のようになります。c:\agent_work\1\a

このフォルダーを使用する一般的な方法は、[ ファイルのコピー ] タスクと [ビルド成果物の発行] タスクを使用して ビルド成果物を発行 することです。

注: Build.ArtifactStagingDirectory と Build.StagingDirectory は交換可能です。 このディレクトリは新しいビルドの前に消去されるため、自分でクリーンアップする必要はありません。

Azure Pipelines の成果物」を参照してください。

この変数はエージェント スコープであり、スクリプトの環境変数およびビルド タスクのパラメーターとして使用できますが、ビルド番号の一部またはバージョン管理タグとして使用することはできません。

いいえ
Build.BuildId 完了したビルドのレコードの ID。 いいえ
Build.BuildNumber 完了したビルドの名前 。実行番号とも呼ばれます。 この値 に含まれるものを 指定できます。

この変数の一般的な用途は、 リポジトリ タブで指定したラベル形式の一部にすることです。

注: この値には、空白文字またはその他の無効なラベル文字を含めることができます。 このような場合、 ラベルの形式 は失敗します。



この変数はエージェント スコープであり、スクリプトの環境変数およびビルド タスクのパラメーターとして使用できますが、ビルド番号の一部またはバージョン管理タグとして使用することはできません。

いいえ
Build.BuildUri ビルドの URI。 (例: vstfs:///Build/Build/1430)。

この変数はエージェント スコープであり、スクリプトの環境変数およびビルド タスクのパラメーターとして使用できますが、ビルド番号の一部またはバージョン管理タグとして使用することはできません。
いいえ
Build.BinariesDirectory コンパイル済みバイナリの出力フォルダーとして使用できるエージェントのローカル パス。

既定では、このディレクトリをクリーンアップするように新しいビルド パイプラインは設定されません。 ビルドを定義して、[ リポジトリ] タブでクリーンアップできます。

(例: c:\agent_work\1\b)。

この変数はエージェント スコープであり、スクリプトの環境変数およびビルド タスクのパラメーターとして使用できますが、ビルド番号の一部またはバージョン管理タグとして使用することはできません。
いいえ
Build.ContainerId 成果物のコンテナーの ID。 パイプラインに成果物をアップロードすると、その特定の成果物に固有のコンテナーに追加されます。 いいえ
Build.DefinitionName ビルド パイプラインの名前。

注: この値には、空白文字またはその他の無効なラベル文字を含めることができます。 このような場合、 ラベルの形式 は失敗します。

はい
Build.DefinitionVersion ビルド パイプラインのバージョン。 はい
Build.QueuedBy ID 変数はどのように設定されますか?」を参照してください。

注: この値には、空白文字またはその他の無効なラベル文字を含めることができます。 このような場合、 ラベルの形式 は失敗します。

はい
Build.QueuedById ID 変数はどのように設定されますか?」を参照してください。 はい
Build.Reason ビルドの実行の原因となったイベント。
  • Manual: ユーザーがビルドを手動でキューに入れた。
  • IndividualCI: Git プッシュまたは TFVC チェックインによってトリガーされる継続的インテグレーション (CI)。
  • BatchedCI: Git プッシュまたは TFVC チェックインによってトリガーされ、Batch の変更が選択された継続的インテグレーション (CI)。
  • Schedule: スケジュールされた トリガー。
  • ValidateShelveset: ユーザーが特定の TFVC シェルブセットのビルドを手動でキューに入れた。
  • CheckInShelveset: ゲートチェックイン トリガー。
  • PullRequest: ビルドは、ビルドを必要とする Git ブランチ ポリシーによってトリガーされました。
  • BuildCompletion: ビルドは 別のビルドによってトリガーされました
  • ResourceTrigger: ビルドはリソース トリガーによってトリガーされたか、別のビルドによってトリガーされました
「パイプライン トリガーのビルド」ブランチ ポリシーを使用したコード品質の向上に関するページを参照してください。
はい
Build.Repository.Clean ソース リポジトリの設定[クリーン] に選択した値。

この変数はエージェント スコープであり、スクリプトの環境変数およびビルド タスクのパラメーターとして使用できますが、ビルド番号の一部またはバージョン管理タグとして使用することはできません。
いいえ
Build.Repository.LocalPath

ソース コード ファイルがダウンロードされるエージェントのローカル パス。 たとえば次のようになります。c:\agent_work\1\s

既定では、新しいビルド パイプラインは変更されたファイルのみを更新します。 [ リポジトリ] タブでファイルのダウンロード方法を変更できます。

重要な注意: 1 つの Git リポジトリのみをチェックアウトした場合、このパスはコードへの正確なパスになります。 複数のリポジトリをチェックアウトすると、動作は次のようになります (Build.SourcesDirectory 変数の値とは異なる場合があります)。

  • セルフ (プライマリ) リポジトリのチェックアウト ステップにカスタム チェックアウト パスが定義されていない場合、またはチェックアウト パスがセルフ リポジトリのマルチチェックアウトの既定のパス $(Pipeline.Workspace)/s/<RepoName> である場合、この変数の値は 既定値 () $(Pipeline.Workspace)/sに戻ります。
  • セルフ (プライマリ) リポジトリのチェックアウト ステップにカスタム チェックアウト パスが定義されている場合 (また、マルチチェックアウトの既定のパスではありません)、この変数にはセルフ リポジトリへの正確なパスが含まれます。
この変数はエージェント スコープであり、スクリプトの環境変数およびビルド タスクのパラメーターとして使用できますが、ビルド番号の一部またはバージョン管理タグとして使用することはできません。
いいえ
Build.Repository.ID リポジトリの一意識別子。

リポジトリの名前が変更された場合でも、これは変更されません。

この変数はエージェント スコープであり、スクリプトの環境変数およびビルド タスクのパラメーターとして使用できますが、ビルド番号の一部またはバージョン管理タグとして使用することはできません。
いいえ
Build.Repository.Name トリガーする リポジトリの名前。

この変数はエージェント スコープであり、スクリプトの環境変数およびビルド タスクのパラメーターとして使用できますが、ビルド番号の一部またはバージョン管理タグとして使用することはできません。
いいえ
Build.Repository.Provider トリガーする リポジトリの型。 この変数はエージェント スコープであり、スクリプトの環境変数およびビルド タスクのパラメーターとして使用できますが、ビルド番号の一部またはバージョン管理タグとして使用することはできません。 いいえ
Build.Repository.Tfvc.Workspace リポジトリがTeam Foundation バージョン管理されている場合に定義されます。 ビルド エージェントによって使用される TFVC ワークスペース の名前。


たとえば、Agent.BuildDirectory が で c:\agent_work\12 、Agent.Id が の場合、 8ワークスペース名は次のようになります。 ws_12_8

この変数はエージェント スコープであり、スクリプトの環境変数およびビルド タスクのパラメーターとして使用できますが、ビルド番号の一部またはバージョン管理タグとして使用することはできません。
いいえ
Build.Repository.Uri トリガーするリポジトリの URL。 例: この変数はエージェント スコープであり、スクリプトの環境変数およびビルド タスクのパラメーターとして使用できますが、ビルド番号の一部またはバージョン管理タグとして使用することはできません。 いいえ
Build.RequestedFor ID 変数はどのように設定されますか?」を参照してください。

注: この値には、空白文字またはその他の無効なラベル文字を含めることができます。 このような場合、 ラベルの形式 は失敗します。

はい
Build.RequestedForEmail ID 変数はどのように設定されますか?」を参照してください。 はい
Build.RequestedForId ID 変数はどのように設定されますか?」を参照してください。 はい
Build.SourceBranch ビルドがキューに登録されたトリガー リポジトリのブランチ。 次に例をいくつか示します。
  • Git リポジトリ ブランチ: refs/heads/main
  • Git リポジトリの pull request: refs/pull/1/merge
  • TFVC リポジトリ ブランチ: $/teamproject/main
  • TFVC リポジトリ ゲート チェックイン: Gated_2016-06-06_05.20.51.4369;username@live.com
  • TFVC リポジトリ シェルブセットのビルド: myshelveset;username@live.com
  • パイプラインがタグによってトリガーされた場合: refs/tags/your-tag-name
この変数をビルド番号形式で使用すると、スラッシュ文字 (/) がアンダースコア文字 _に置き換えられます。

注: TFVC では、ゲートチェックイン ビルドを実行している場合、またはシェルブセットを手動でビルドする場合、この変数をビルド番号形式で使用することはできません。
はい
Build.SourceBranchName ビルドがキューに登録されたトリガー リポジトリ内のブランチの名前。
  • Git リポジトリ ブランチ、pull request、またはタグ: ref 内の最後のパス セグメント。たとえば、この値では refs/heads/main です main。 この値は refs/heads/feature/tools です tools。 この値は refs/tags/your-tag-name です your-tag-name
  • TFVC リポジトリ ブランチ: ワークスペースのルート サーバー パスの最後のパス セグメント。 たとえば、この値では $/teamproject/main です main
  • TFVC リポジトリゲートチェックインまたはシェルブセットビルドは、シェルブセットの名前です。 たとえば、Gated_2016-06-06_05.20.51.4369;username@live.com または myshelveset;username@live.com です。
注: TFVC では、ゲートチェックイン ビルドを実行している場合、またはシェルブセットを手動でビルドする場合、この変数をビルド番号形式で使用することはできません。
はい
Build.SourcesDirectory

ソース コード ファイルがダウンロードされるエージェントのローカル パス。 たとえば次のようになります。c:\agent_work\1\s

既定では、新しいビルド パイプラインは変更されたファイルのみを更新します。

重要な注意: 1 つの Git リポジトリのみをチェックアウトした場合、このパスはコードへの正確なパスになります。 複数のリポジトリをチェックアウトすると、セルフ (プライマリ) リポジトリが $(Pipeline.Workspace)/sマルチチェックアウトの既定 $(Pipeline.Workspace)/s/<RepoName> のパスとは異なるカスタム パスにチェックアウトされた場合でも、既定値に戻ります (この点では、変数は Build.Repository.LocalPath 変数の動作とは異なります)。

この変数はエージェント スコープであり、スクリプトの環境変数およびビルド タスクのパラメーターとして使用できますが、ビルド番号の一部またはバージョン管理タグとして使用することはできません。

いいえ
Build.SourceVersion このビルドに含まれるトリガー リポジトリの最新バージョンコントロールの変更。 この変数はエージェント スコープであり、スクリプトの環境変数およびビルド タスクのパラメーターとして使用できますが、ビルド番号の一部またはバージョン管理タグとして使用することはできません。 はい
Build.SourceVersionMessage トリガーするリポジトリのコミットまたは変更セットのコメント。 最初の行または 200 文字のどちらか短い方にメッセージを切り捨てます。

この変数はエージェント スコープであり、スクリプトの環境変数およびビルド タスクのパラメーターとして使用できますが、ビルド番号の一部またはバージョン管理タグとして使用することはできません。 また、この変数はステップ レベルでのみ使用でき、ジョブ レベルとステージ レベルでは使用できません (つまり、ジョブが開始してコードをチェックアウトするまで、メッセージは抽出されません)。

注: この変数は TFS 2015.4 で使用できます。

Note

ビルドの進行中に Batch が変更された場合、 Build.SourceVersionMessage 変数は Bitbucket リポジトリ のクラシック ビルド パイプラインでは 機能しません。

いいえ
Build.StagingDirectory

成果物がコピー先にプッシュされる前にコピーされるエージェントのローカル パス。 たとえば次のようになります。c:\agent_work\1\a

このフォルダーを使用する一般的な方法は、ファイルの コピー タスクとビルド成果物の発行タスクを使用して ビルド成果物を発行 することです。

注: Build.ArtifactStagingDirectory と Build.StagingDirectory は交換可能です。 このディレクトリは新しいビルドの前に消去されるため、自分でクリーンアップする必要はありません。

Azure Pipelines の成果物」を参照してください。

この変数はエージェント スコープであり、スクリプトの環境変数およびビルド タスクのパラメーターとして使用できますが、ビルド番号の一部として、またはバージョン管理タグとして使用することはできません。

いいえ
Build.Repository.Git.SubmoduleCheckout [リポジトリ] タブ[チェックアウト] サブモジュールに対して選択した値。複数のリポジトリがチェックアウトされた場合、この値はトリガーリポジトリの設定を追跡します。

この変数はエージェント スコープであり、スクリプトの環境変数およびビルド タスクのパラメーターとして使用できますが、ビルド番号の一部として、またはバージョン管理タグとして使用することはできません。
いいえ
Build.SourceTfvcShelveset リポジトリがTeam Foundation バージョン管理されている場合に定義されます。


ゲート ビルドまたはシェルブセット ビルドを実行している場合は、ビルドするシェルブセットの名前に設定されます。

注: この変数は、ビルド番号形式でのビルド使用に無効な値を生成します。
いいえ
Build.TriggeredBy.BuildId ビルドが別の ビルドによってトリガーされた場合、この変数はトリガーするビルドの BuildID に設定されます。 クラシック パイプラインでは、この変数はビルド完了トリガーによってトリガーされます。

この変数はエージェント スコープであり、スクリプトの環境変数およびビルド タスクのパラメーターとして使用できますが、ビルド番号の一部として、またはバージョン管理タグとして使用することはできません。
いいえ
Build.TriggeredBy.DefinitionId ビルドが別の ビルドによってトリガーされた場合、この変数はトリガーするビルドの DefinitionID に設定されます。 クラシック パイプラインでは、この変数はビルド完了トリガーによってトリガーされます。

この変数はエージェント スコープであり、スクリプトの環境変数およびビルド タスクのパラメーターとして使用できますが、ビルド番号の一部として、またはバージョン管理タグとして使用することはできません。
いいえ
Build.TriggeredBy.DefinitionName ビルドが別の ビルドによってトリガーされた場合、この変数はトリガーするビルド パイプラインの名前に設定されます。 クラシック パイプラインでは、この変数はビルド完了トリガーによってトリガーされます。

この変数はエージェント スコープであり、スクリプトの環境変数およびビルド タスクのパラメーターとして使用できますが、ビルド番号の一部として、またはバージョン管理タグとして使用することはできません。
いいえ
Build.TriggeredBy.BuildNumber ビルドが別の ビルドによってトリガーされた場合、この変数はトリガーするビルドの数に設定されます。 クラシック パイプラインでは、この変数はビルド完了トリガーによってトリガーされます。

この変数はエージェント スコープであり、スクリプトの環境変数およびビルド タスクのパラメーターとして使用できますが、ビルド番号の一部として、またはバージョン管理タグとして使用することはできません。
いいえ
Build.TriggeredBy.ProjectID ビルドが別の ビルドによってトリガーされた場合、この変数はトリガーするビルドを含むプロジェクトの ID に設定されます。 クラシック パイプラインでは、この変数はビルド完了トリガーによってトリガーされます。

この変数はエージェント スコープであり、スクリプトの環境変数およびビルド タスクのパラメーターとして使用できますが、ビルド番号の一部として、またはバージョン管理タグとして使用することはできません。
いいえ
Common.TestResultsDirectory テスト結果が作成されるエージェントのローカル パス。 たとえば次のようになります。c:\agent_work\1\TestResults

この変数はエージェント スコープであり、スクリプトの環境変数およびビルド タスクのパラメーターとして使用できますが、ビルド番号の一部として、またはバージョン管理タグとして使用することはできません。
いいえ

パイプライン変数 (DevOps Server)

変数説明
Pipeline.Workspace 特定のパイプラインのワークスペース ディレクトリ。 この変数の値は と Agent.BuildDirectory同じです。

たとえば、「 /home/vsts/work/1 」のように入力します。

デプロイ ジョブ変数 (DevOps Server)

これらの変数のスコープは特定の デプロイ ジョブ であり、ジョブの実行時にのみ解決されます。

変数説明
Environment.Name デプロイ 手順を実行し、デプロイ履歴を記録するデプロイ ジョブの対象となる環境の名前。 たとえば、「 smarthotel-dev 」のように入力します。
Environment.Id デプロイ ジョブの対象となる環境の ID。 たとえば、「 10 」のように入力します。
Environment.ResourceName デプロイ ジョブの対象となる環境内の特定のリソースの名前。デプロイ手順を実行し、デプロイ履歴を記録します。 たとえば、 bookings は、環境 smarthotel-devにリソースとして追加された Kubernetes 名前空間です。
Environment.ResourceId デプロイ 手順を実行するデプロイ ジョブの対象となる環境内の特定のリソースの ID。 たとえば、「 4 」のように入力します。

システム変数 (DevOps Server)

変数説明テンプレートで使用できますか?
System.AccessToken OAuth トークンを使用して REST API にアクセスします

YAML スクリプトから System.AccessToken を使用します

この変数はエージェント スコープであり、スクリプトの環境変数およびビルド タスクのパラメーターとして使用できますが、ビルド番号の一部として、またはバージョン管理タグとして使用することはできません。
はい
System.CollectionId TFS コレクションまたは Azure DevOps 組織の GUID はい
System.CollectionUri Team Foundation Server コレクション URI の文字列。 はい
System.DefaultWorkingDirectory

ソース コード ファイルがダウンロードされるエージェントのローカル パス。 たとえば次のようになります。c:\agent_work\1\s

既定では、新しいビルド パイプラインは変更されたファイルのみを更新します。 [ リポジトリ] タブでファイルのダウンロード方法を変更できます。

この変数はエージェント スコープです。 スクリプトの環境変数として、ビルド タスクのパラメーターとして使用できますが、ビルド番号の一部として、またはバージョン コントロール タグとして使用することはできません。

いいえ
System.DefinitionId ビルド パイプラインの ID。 はい
System.HostType パイプラインがビルドの場合は を に build 設定します。 リリースの場合、値は deployment デプロイ グループ ジョブ、 gates ゲートの評価中、およびその他の (エージェントおよび release エージェントレス) ジョブ用です。 はい
System.JobAttempt このジョブが初めて試行されるときに 1 に設定され、ジョブが再試行されるたびにインクリメントされます。 いいえ
System.JobDisplayName ジョブに指定された人間が判読できる名前。 いいえ
System.JobId 1 つのジョブの 1 回の試行に対する一意識別子。 値は、現在のパイプラインに固有です。 いいえ
System.JobName 通常、依存関係を表し、出力変数にアクセスするために使用されるジョブの名前。 いいえ
System.PhaseAttempt このフェーズが初めて試行されるときに 1 に設定され、ジョブが再試行されるたびにインクリメントされます。

メモ: "フェーズ" は、ジョブの設計時を表すほぼ冗長な概念です (ジョブはフェーズのランタイム バージョンでした)。 ほとんどの場合、Azure Pipelines から "フェーズ" の概念を削除しました。 マトリックスジョブとマルチコンフィグジョブは、"フェーズ" がまだ "job" とは異なる唯一の場所です。 1 つのフェーズでは、入力のみが異なる複数のジョブをインスタンス化できます。
いいえ
System.PhaseDisplayName フェーズに指定された人間が判読できる名前。 いいえ
System.PhaseName ジョブの文字列ベースの識別子。通常、依存関係の表現と出力変数へのアクセスに使用されます。 いいえ
System.StageAttempt このステージが初めて試行されるときに 1 に設定され、ジョブが再試行されるたびにインクリメントされます。 いいえ
System.StageDisplayName ステージに指定された人間が判読できる名前。 いいえ
System.StageName ステージの文字列ベースの識別子。通常、依存関係を表し、出力変数にアクセスするために使用されます。 はい
System.PullRequest.IsFork pull request がリポジトリのフォークからの場合、この変数は に True設定されます。 それ以外の場合は、 に False設定されます。 はい
System.PullRequest.PullRequestId このビルドの原因となった pull request の ID。 (例: 17)。 (この変数は、 ブランチ ポリシーの影響を受ける Git PR が原因でビルドが実行された場合にのみ初期化されます)。 いいえ
System.PullRequest.PullRequestNumber このビルドの原因となった pull request の数。 この変数は、異なる pull request ID と pull request 番号を持つ GitHub からの pull request に対して設定されます。 この変数は、PR がブランチ ポリシーの影響を受ける場合にのみ、YAML パイプラインで使用できます。 いいえ
System.PullRequest.SourceBranch pull request でレビューされているブランチ。 (例: refs/heads/users/raisa/new-feature)。 (この変数は、 ブランチ ポリシーの影響を受ける Git PR が原因でビルドが実行された場合にのみ初期化されます)。 この変数は、PR がブランチ ポリシーの影響を受ける場合にのみ、YAML パイプラインで使用できます。 いいえ
System.PullRequest.SourceRepositoryURI pull request を含むリポジトリの URL。 (例: https://dev.azure.com/ouraccount/_git/OurProject)。 いいえ
System.PullRequest.TargetBranch pull request のターゲットであるブランチ。 たとえば、refs/heads/mainリポジトリがAzure Reposにある場合とmain、リポジトリが GitHub にある場合です。 この変数は、 ブランチ ポリシーの影響を受ける Git PR が原因でビルドが実行された場合にのみ初期化されます。 この変数は、PR がブランチ ポリシーの影響を受ける場合にのみ、YAML パイプラインで使用できます。 いいえ
System.TeamFoundationCollectionUri Team Foundation コレクションの URI。 たとえば次のようになります。https://dev.azure.com/fabrikamfiber/

この変数はエージェント スコープであり、スクリプトの環境変数およびビルド タスクのパラメーターとして使用できますが、ビルド番号の一部として、またはバージョン管理タグとして使用することはできません。
はい
System.TeamProject このビルドを含むプロジェクトの名前。 はい
System.TeamProjectId このビルドが属するプロジェクトの ID。 はい
TF_BUILD スクリプトがビルド タスクによって実行されている場合は、 を に True 設定します。

この変数はエージェント スコープであり、スクリプトの環境変数およびビルド タスクのパラメーターとして使用できますが、ビルド番号の一部として、またはバージョン管理タグとして使用することはできません。
いいえ

エージェント変数 (DevOps Server 2019)

注意

エージェント変数は、スクリプトの環境変数として、ビルド タスクではパラメーターとして使用できます。 これらを使用してビルド番号をカスタマイズしたり、バージョンコントロールのラベルやタグを適用したりすることはできません。

変数説明
Agent.BuildDirectory

特定のビルド パイプラインのすべてのフォルダーが作成されるエージェントのローカル パス。

たとえば次のようになります。c:\agent_work\1

Agent.HomeDirectory エージェントがインストールされているディレクトリ。 これにはエージェント ソフトウェアが含まれます。 (例: c:\agent)。
Agent.Id エージェントの ID。
Agent.JobName 実行中のジョブの名前。 これは通常、"ジョブ" または "__default" になりますが、マルチ構成シナリオでは、構成になります。
Agent.JobStatus ビルドの状態。
  • Canceled
  • Failed
  • Succeeded
  • SucceededWithIssues (部分的に成功)

環境変数は として AGENT_JOBSTATUS参照する必要があります。 旧バージョン agent.jobstatus は、下位互換性のために使用できます。

Agent.MachineName エージェントがインストールされているコンピューターの名前。
Agent.Name

プールに登録されているエージェントの名前。

セルフホステッド エージェントを使用している場合、この名前はユーザーによって指定されます。 「エージェント」を参照してください。

Agent.OS エージェント ホストのオペレーティング システム。 有効な値は次のとおりです。
  • Windows_NT
  • Darwin
  • Linux
コンテナーで実行している場合、エージェントホストとコンテナーが異なるオペレーティング システムを実行している可能性があります。
Agent.OSArchitecture エージェント ホストのオペレーティング システム プロセッサ アーキテクチャ。 有効な値は次のとおりです。
  • X86
  • X64
  • ARM
Agent.TempDirectory 各パイプライン ジョブの後にクリーンアップされる一時フォルダー。 このディレクトリは、発行前にテスト結果などの一時的な項目を保持するために 、.NET Core CLI タスクなどのタスク によって使用されます。
Agent.ToolsDirectory ノード ツール インストーラーPython バージョンを使用して複数のバージョンのツールを切り替えるなどのタスクで使用されるディレクトリ。 これらのタスクにより、このディレクトリから にツールが PATH 追加され、後続のビルド ステップでツールを使用できるようになります。

セルフホステッド エージェントでこのディレクトリを管理する方法について説明します。
Agent.WorkFolder このエージェントの作業ディレクトリ。 (例: c:\agent_work)。

このディレクトリは、パイプライン タスク (コンテナーにマップされている場合など) によって書き込み可能であるとは限りません。

ビルド変数 (DevOps Server 2019)


変数説明
Build.ArtifactStagingDirectory

成果物がコピー先にプッシュされる前にコピーされるエージェントのローカル パス。 たとえば次のようになります。c:\agent_work\1\a

このフォルダーを使用する一般的な方法は、[ ファイルのコピー ] タスクと [ビルド成果物の発行] タスクを使用して ビルド成果物を発行 することです。

注: Build.ArtifactStagingDirectory と Build.StagingDirectory は交換可能です。 このディレクトリは新しいビルドの前に消去されるため、自分でクリーンアップする必要はありません。

Azure Pipelines の成果物」を参照してください。

この変数はエージェント スコープです。 スクリプトの環境変数として、およびビルド タスクのパラメーターとして使用できますが、ビルド番号の一部として、またはバージョン 管理タグとして使用することはできません。

Build.BuildId 完了したビルドのレコードの ID。
Build.BuildNumber 完了したビルドの名前。 この値を生成するビルド番号の形式は、 パイプライン オプションで指定できます。

この変数の一般的な用途は、 リポジトリ タブで指定したラベル形式の一部にすることです。

注: この値には、空白文字またはその他の無効なラベル文字を含めることができます。 このような場合、 ラベルの形式 は失敗します。



この変数はエージェント スコープです。 スクリプトの環境変数として、およびビルド タスクのパラメーターとして使用できますが、ビルド番号の一部として、またはバージョン 管理タグとして使用することはできません。

Build.BuildUri ビルドの URI。 (例: vstfs:///Build/Build/1430)。

この変数はエージェント スコープです。 スクリプトの環境変数として、およびビルド タスクのパラメーターとして使用できますが、ビルド番号の一部として、またはバージョン 管理タグとして使用することはできません。
Build.BinariesDirectory コンパイル済みバイナリの出力フォルダーとして使用できるエージェントのローカル パス。

既定では、このディレクトリをクリーンアップするように新しいビルド パイプラインは設定されません。 ビルドを定義して、[ リポジトリ] タブでクリーンアップできます。

(例: c:\agent_work\1\b)。

この変数はエージェント スコープです。 スクリプトの環境変数として、およびビルド タスクのパラメーターとして使用できますが、ビルド番号の一部として、またはバージョン 管理タグとして使用することはできません。
Build.DefinitionName ビルド パイプラインの名前。

注: この値には、空白文字またはその他の無効なラベル文字を含めることができます。 このような場合、 ラベルの形式 は失敗します。

Build.DefinitionVersion ビルド パイプラインのバージョン。
Build.QueuedBy ID 変数はどのように設定されますか?」を参照してください。

注: この値には、空白文字またはその他の無効なラベル文字を含めることができます。 このような場合、 ラベルの形式 は失敗します。

Build.QueuedById ID 変数はどのように設定されますか?」を参照してください。
Build.Reason ビルドの実行の原因となったイベント。
  • Manual: ユーザーがビルドを手動でキューに入れた。
  • IndividualCI: Git プッシュまたは TFVC チェックインによってトリガーされる継続的インテグレーション (CI)。
  • BatchedCI: Git プッシュまたは TFVC チェックインによってトリガーされ、Batch の変更が選択された継続的インテグレーション (CI)。
  • Schedule: スケジュールされた トリガー。
  • ValidateShelveset: ユーザーが特定の TFVC シェルブセットのビルドを手動でキューに入れた。
  • CheckInShelveset: ゲートチェックイン トリガー。
  • PullRequest: ビルドは、ビルドを必要とする Git ブランチ ポリシーによってトリガーされました。
  • BuildCompletion: ビルドは 別のビルドによってトリガーされました
「パイプライン トリガーのビルド」ブランチ ポリシーを使用したコード品質の向上に関するページを参照してください。
Build.Repository.Clean ソース リポジトリの設定[クリーン] に選択した値。

この変数はエージェント スコープです。 スクリプトの環境変数として、およびビルド タスクのパラメーターとして使用できますが、ビルド番号の一部として、またはバージョン 管理タグとして使用することはできません。
Build.Repository.LocalPath

ソース コード ファイルがダウンロードされるエージェントのローカル パス。 たとえば次のようになります。c:\agent_work\1\s

既定では、新しいビルド パイプラインは変更されたファイルのみを更新します。 [ リポジトリ] タブでファイルのダウンロード方法を変更できます。

この変数はエージェント スコープです。 スクリプトの環境変数として、およびビルド タスクのパラメーターとして使用できますが、ビルド番号の一部として、またはバージョン 管理タグとして使用することはできません。

この変数は Build.SourcesDirectory と同義です。

Build.Repository.Name リポジトリの名前。

この変数はエージェント スコープです。 スクリプトの環境変数として、およびビルド タスクのパラメーターとして使用できますが、ビルド番号の一部として、またはバージョン 管理タグとして使用することはできません。
Build.Repository.Provider 選択したリポジトリの種類。 この変数はエージェント スコープです。 スクリプトの環境変数として、およびビルド タスクのパラメーターとして使用できますが、ビルド番号の一部として、またはバージョン 管理タグとして使用することはできません。
Build.Repository.Tfvc.Workspace リポジトリがTeam Foundation バージョン管理されている場合に定義されます。 ビルド エージェントによって使用される TFVC ワークスペース の名前。


たとえば、Agent.BuildDirectory が で c:\agent_work\12 、Agent.Id が の場合、 8ワークスペース名は次のようになります。 ws_12_8

この変数はエージェント スコープです。 スクリプトの環境変数として、およびビルド タスクのパラメーターとして使用できますが、ビルド番号の一部として、またはバージョン 管理タグとして使用することはできません。
Build.Repository.Uri リポジトリの URL。 例: この変数はエージェント スコープです。 スクリプトの環境変数として、およびビルド タスクのパラメーターとして使用できますが、ビルド番号の一部として、またはバージョン 管理タグとして使用することはできません。
Build.RequestedFor ID 変数はどのように設定されますか?」を参照してください。

注: この値には、空白文字またはその他の無効なラベル文字を含めることができます。 このような場合、 ラベルの形式 は失敗します。

Build.RequestedForEmail ID 変数はどのように設定されますか?」を参照してください。
Build.RequestedForId ID 変数はどのように設定されますか?」を参照してください。
Build.SourceBranch ビルドがキューに登録されたブランチ。 次に例をいくつか示します。
  • Git リポジトリ ブランチ: refs/heads/main
  • Git リポジトリの pull request: refs/pull/1/merge
  • TFVC リポジトリ ブランチ: $/teamproject/main
  • TFVC リポジトリ ゲート チェックイン: Gated_2016-06-06_05.20.51.4369;username@live.com
  • TFVC リポジトリ シェルブセットのビルド: myshelveset;username@live.com
この変数をビルド番号形式で使用すると、スラッシュ文字 (/) がアンダースコア文字 _に置き換えられます。

注: TFVC では、ゲートチェックイン ビルドを実行している場合、またはシェルブセットを手動でビルドする場合、この変数をビルド番号形式で使用することはできません。
Build.SourceBranchName ビルドがキューに登録されたブランチの名前。
  • Git リポジトリ ブランチ、pull request、またはタグ: ref 内の最後のパス セグメント。たとえば、この値では refs/heads/main です main。 この値は refs/heads/feature/tools です tools。 この値は refs/tags/your-tag-name です your-tag-name
  • TFVC リポジトリ ブランチ: ワークスペースのルート サーバー パスの最後のパス セグメント。 たとえば、この値の $/teamproject/main は です main
  • TFVC リポジトリゲートチェックインまたはシェルブセットビルドは、シェルブセットの名前です。 たとえば、Gated_2016-06-06_05.20.51.4369;username@live.com または myshelveset;username@live.com です。
注: TFVC では、ゲートチェックイン ビルドを実行している場合、またはシェルブセットを手動でビルドする場合、この変数をビルド番号形式で使用することはできません。
Build.SourcesDirectory

ソース コード ファイルがダウンロードされるエージェントのローカル パス。 たとえば次のようになります。c:\agent_work\1\s

既定では、新しいビルド パイプラインは変更されたファイルのみを更新します。 [ リポジトリ] タブでファイルのダウンロード方法を変更できます。

この変数はエージェント スコープです。 スクリプトの環境変数として、およびビルド タスクのパラメーターとして使用できますが、ビルド番号の一部として、またはバージョン 管理タグとして使用することはできません。

この変数は、Build.Repository.LocalPath と同義です。

Build.SourceVersion このビルドに含まれる最新バージョンコントロールの変更。 この変数はエージェント スコープです。 スクリプトの環境変数として、およびビルド タスクのパラメーターとして使用できますが、ビルド番号の一部として、またはバージョン 管理タグとして使用することはできません。
Build.SourceVersionMessage コミットまたは変更セットのコメント。 最初の行または 200 文字のどちらか短い方にメッセージを切り捨てます。

この変数はエージェント スコープです。 スクリプトの環境変数として、およびビルド タスクのパラメーターとして使用できますが、ビルド番号の一部として、またはバージョン 管理タグとして使用することはできません。

注: この変数は TFS 2015.4 で使用できます。

注意

ビルドの進行中に Batch が変更された場合、 Build.SourceVersionMessage 変数は Bitbucket リポジトリ のクラシック ビルド パイプラインでは 機能しません。

Build.StagingDirectory

成果物がコピー先にプッシュされる前にコピーされるエージェントのローカル パス。 たとえば次のようになります。c:\agent_work\1\a

このフォルダーを使用する一般的な方法は、[ ファイルのコピー ] タスクと [ビルド成果物の発行] タスクを使用して ビルド成果物を発行 することです。

注: Build.ArtifactStagingDirectory と Build.StagingDirectory は交換可能です。 このディレクトリは新しいビルドの前に消去されるため、自分でクリーンアップする必要はありません。

Azure Pipelines の成果物」を参照してください。

この変数はエージェント スコープです。 スクリプトの環境変数として、およびビルド タスクのパラメーターとして使用できますが、ビルド番号の一部として、またはバージョン 管理タグとして使用することはできません。

Build.Repository.Git.SubmoduleCheckout [リポジトリ] タブ[チェックアウト] サブモジュールで選択した値。

この変数はエージェント スコープです。 スクリプトの環境変数として、およびビルド タスクのパラメーターとして使用できますが、ビルド番号の一部として、またはバージョン 管理タグとして使用することはできません。
Build.SourceTfvcShelveset リポジトリがTeam Foundation バージョン管理されている場合に定義されます。


ゲートビルドまたはシェルブセットビルドを実行している場合、これは構築するシェルブセットの名前に設定されます。

注: この変数は、ビルド番号形式でのビルド使用に無効な値を生成します。
Build.TriggeredBy.BuildId ビルドが別の ビルドによってトリガーされた場合、この変数はトリガー元のビルドの BuildID に設定されます。

この変数はエージェント スコープです。 スクリプトの環境変数として、およびビルド タスクのパラメーターとして使用できますが、ビルド番号の一部として、またはバージョン 管理タグとして使用することはできません。
Build.TriggeredBy.DefinitionId ビルドが別の ビルドによってトリガーされた場合、この変数はトリガー元のビルドの DefinitionID に設定されます。

この変数はエージェント スコープです。 スクリプトの環境変数として、およびビルド タスクのパラメーターとして使用できますが、ビルド番号の一部として、またはバージョン 管理タグとして使用することはできません。
Build.TriggeredBy.DefinitionName ビルドが別の ビルドによってトリガーされた場合、この変数はトリガーするビルド パイプラインの名前に設定されます。

この変数はエージェント スコープです。 スクリプトの環境変数として、ビルド タスクのパラメーターとして使用できますが、ビルド番号の一部として、またはバージョン コントロール タグとして使用することはできません。
Build.TriggeredBy.BuildNumber ビルドが別の ビルドによってトリガーされた場合、この変数はトリガーするビルドの数に設定されます。

この変数はエージェント スコープです。 スクリプトの環境変数として、ビルド タスクのパラメーターとして使用できますが、ビルド番号の一部として、またはバージョン コントロール タグとして使用することはできません。
Build.TriggeredBy.ProjectID ビルドが別の ビルドによってトリガーされた場合、この変数はトリガーするビルドを含むプロジェクトの ID に設定されます。

この変数はエージェント スコープです。 スクリプトの環境変数として、ビルド タスクのパラメーターとして使用できますが、ビルド番号の一部として、またはバージョン コントロール タグとして使用することはできません。
Common.TestResultsDirectory テスト結果が作成されるエージェントのローカル パス。 たとえば次のようになります。c:\agent_work\1\TestResults

この変数はエージェント スコープです。 スクリプトの環境変数として、ビルド タスクのパラメーターとして使用できますが、ビルド番号の一部として、またはバージョン コントロール タグとして使用することはできません。

システム変数 (DevOps Server 2019)

変数説明
System.AccessToken OAuth トークンを使用して REST API にアクセスします

YAML スクリプトから System.AccessToken を使用します

この変数はエージェント スコープです。 スクリプトの環境変数として、ビルド タスクのパラメーターとして使用できますが、ビルド番号の一部として、またはバージョン コントロール タグとして使用することはできません。
System.CollectionId TFS コレクションまたは Azure DevOps 組織の GUID
System.DefaultWorkingDirectory

ソース コード ファイルがダウンロードされるエージェントのローカル パス。 たとえば次のようになります。c:\agent_work\1\s

既定では、新しいビルド パイプラインは変更されたファイルのみを更新します。 [ リポジトリ] タブでファイルのダウンロード方法を変更できます。

この変数はエージェント スコープです。 スクリプトの環境変数として、ビルド タスクのパラメーターとして使用できますが、ビルド番号の一部として、またはバージョン コントロール タグとして使用することはできません。

System.DefinitionId ビルド パイプラインの ID。
System.HostType パイプラインがビルドの場合は を に build 設定します。 リリースの場合、値は deployment デプロイ グループ ジョブ用と release エージェント ジョブ用です。
System.PullRequest.IsFork pull request がリポジトリのフォークからの場合、この変数は に True設定されます。 それ以外の場合は、 に False設定されます。
System.PullRequest.PullRequestId このビルドの原因となった pull request の ID。 (例: 17)。 (この変数は、 ブランチ ポリシーの影響を受ける Git PR が原因でビルドが実行された場合にのみ初期化されます)。
System.PullRequest.PullRequestNumber このビルドの原因となった pull request の数。 この変数は、異なる pull request ID と pull request 番号を持つ GitHub からの pull request に対して設定されます。
System.PullRequest.SourceBranch pull request でレビューされているブランチ。 (例: refs/heads/users/raisa/new-feature)。 (この変数は、 ブランチ ポリシーの影響を受ける Git PR が原因でビルドが実行された場合にのみ初期化されます)。
System.PullRequest.SourceRepositoryURI pull request を含むリポジトリの URL。 (例: https://dev.azure.com/ouraccount/_git/OurProject)。 (この変数は、ブランチ ポリシーの影響を受けるAzure Repos Git PR が原因でビルドが実行された場合にのみ初期化されます。GitHub PR 用に初期化されていません。)
System.PullRequest.TargetBranch pull request のターゲットであるブランチ。 (例: refs/heads/main)。 この変数は、 ブランチ ポリシーの影響を受ける Git PR が原因でビルドが実行された場合にのみ初期化されます。
System.TeamFoundationCollectionUri Team Foundation コレクションの URI。 (例: https://dev.azure.com/fabrikamfiber/)。

この変数はエージェント スコープです。 スクリプトの環境変数として、ビルド タスクのパラメーターとして使用できますが、ビルド番号の一部として、またはバージョン コントロール タグとして使用することはできません。
System.TeamProject このビルドを含むプロジェクトの名前。
System.TeamProjectId このビルドが属するプロジェクトの ID。
TF_BUILD スクリプトがビルド タスクによって実行されている場合は、 を に True 設定します。

この変数はエージェント スコープです。 スクリプトの環境変数として、ビルド タスクのパラメーターとして使用できますが、ビルド番号の一部として、またはバージョン コントロール タグとして使用することはできません。

エージェント変数 (TFS 2018)

注意

エージェント変数は、スクリプトの環境変数として、ビルド タスクではパラメーターとして使用できます。 これらを使用してビルド番号をカスタマイズしたり、バージョンコントロールのラベルやタグを適用したりすることはできません。

変数説明
Agent.BuildDirectory

特定のビルド パイプラインのすべてのフォルダーが作成されるエージェントのローカル パス。

たとえば次のようになります。c:\agent_work\1

Agent.HomeDirectory エージェントがインストールされているディレクトリ。 これにはエージェント ソフトウェアが含まれます。 (例: c:\agent)。
Agent.Id エージェントの ID。
Agent.JobStatus ビルドの状態。
  • Canceled
  • Failed
  • Succeeded
  • SucceededWithIssues (部分的に成功)

環境変数は として AGENT_JOBSTATUS参照する必要があります。 旧バージョン agent.jobstatus は、下位互換性のために使用できます。

Agent.MachineName エージェントがインストールされているコンピューターの名前。
Agent.Name

プールに登録されているエージェントの名前。

この名前はユーザーが指定します。 「エージェント」を参照してください。

Agent.TempDirectory 各パイプライン ジョブの後にクリーンアップされる一時フォルダー。 このディレクトリは、発行前にテスト結果などの一時的な項目を保持するために 、.NET Core CLI タスクなどのタスク によって使用されます。
Agent.ToolsDirectory ノード ツール インストーラーPython バージョンを使用して複数のバージョンのツールを切り替えるなどのタスクで使用されるディレクトリ。 これらのタスクにより、このディレクトリから にツールが PATH 追加され、後続のビルド ステップでツールを使用できるようになります。

セルフホステッド エージェントでこのディレクトリを管理する方法について説明します。
Agent.WorkFolder このエージェントの作業ディレクトリ。 (例: c:\agent_work)。

ビルド変数 (TFS 2018)


変数説明
Build.ArtifactStagingDirectory 成果物がコピー先にプッシュされる前にコピーされるエージェントのローカル パス。

成果物がコピー先にプッシュされる前にコピーされるエージェントのローカル パス。 たとえば次のようになります。c:\agent_work\1\a

このフォルダーを使用する一般的な方法は、[ ファイルのコピー ] タスクと [ビルド成果物の発行] タスクを使用して ビルド成果物を発行 することです。

注: Build.ArtifactStagingDirectory と Build.StagingDirectory は交換可能です。 このディレクトリは新しいビルドの前に消去されるため、自分でクリーンアップする必要はありません。

Azure Pipelines の成果物」を参照してください。

この変数はエージェント スコープです。 スクリプトの環境変数として、およびビルド タスクのパラメーターとして使用できますが、ビルド番号の一部として、またはバージョン 管理タグとして使用することはできません。

Build.BuildId 完了したビルドのレコードの ID。
Build.BuildNumber 完了したビルドの名前。 この値を生成するビルド番号の形式は、 パイプライン オプションで指定できます。

この変数の一般的な用途は、 リポジトリ タブで指定したラベル形式の一部にすることです。

注: この値には、空白文字またはその他の無効なラベル文字を含めることができます。 このような場合、 ラベルの形式 は失敗します。



この変数はエージェント スコープです。 スクリプトでは環境変数として、ビルド タスクではパラメーターとして使用できますが、バージョン管理タグとして使用することはできません。

Build.BuildUri ビルドの URI。 (例: vstfs:///Build/Build/1430)。

この変数はエージェント スコープです。 スクリプトの環境変数として、およびビルド タスクのパラメーターとして使用できますが、ビルド番号の一部として、またはバージョン 管理タグとして使用することはできません。
Build.BinariesDirectory コンパイル済みバイナリの出力フォルダーとして使用できるエージェントのローカル パス。

既定では、このディレクトリをクリーンアップするように新しいビルド パイプラインは設定されません。 ビルドを定義して、[ リポジトリ] タブでクリーンアップできます。

(例: c:\agent_work\1\b)。

この変数はエージェント スコープです。 スクリプトの環境変数として、およびビルド タスクのパラメーターとして使用できますが、ビルド番号の一部として、またはバージョン 管理タグとして使用することはできません。
Build.DefinitionName ビルド パイプラインの名前。

注: この値には、空白文字またはその他の無効なラベル文字を含めることができます。 このような場合、 ラベルの形式 は失敗します。

Build.DefinitionVersion ビルド パイプラインのバージョン。
Build.QueuedBy ID 変数はどのように設定されますか?」を参照してください。

注: この値には、空白文字またはその他の無効なラベル文字を含めることができます。 このような場合、 ラベルの形式 は失敗します。

Build.QueuedById ID 変数はどのように設定されますか?」を参照してください。
Build.Reason ビルドの実行の原因となったイベント。
  • Manual: ユーザーが UI または API 呼び出しからビルドを手動でキューに入れた。
  • IndividualCI: Git プッシュまたは TFVC チェックインによってトリガーされる継続的インテグレーション (CI)。
  • BatchedCI: Git プッシュまたは TFVC チェックインによってトリガーされ、Batch の変更が選択された継続的インテグレーション (CI)。
  • Schedule: スケジュールされた トリガー。
  • ValidateShelveset: ユーザーが特定の TFVC シェルブセットのビルドを手動でキューに入れた。
  • CheckInShelveset: ゲートチェックイン トリガー。
  • PullRequest: ビルドは、ビルドを必要とする Git ブランチ ポリシーによってトリガーされました。
「パイプライン トリガーのビルド」ブランチ ポリシーを使用したコード品質の向上に関するページを参照してください。
Build.Repository.Clean ソース リポジトリの設定[クリーン] に選択した値。

この変数はエージェント スコープです。 スクリプトの環境変数として、およびビルド タスクのパラメーターとして使用できますが、ビルド番号の一部として、またはバージョン 管理タグとして使用することはできません。
Build.Repository.LocalPath

ソース コード ファイルがダウンロードされるエージェントのローカル パス。 たとえば次のようになります。c:\agent_work\1\s

既定では、新しいビルド パイプラインは変更されたファイルのみを更新します。 [ リポジトリ] タブでファイルのダウンロード方法を変更できます。

この変数はエージェント スコープです。 スクリプトの環境変数として、およびビルド タスクのパラメーターとして使用できますが、ビルド番号の一部として、またはバージョン 管理タグとして使用することはできません。

この変数は Build.SourcesDirectory と同義です。

Build.Repository.Name リポジトリの名前。

この変数はエージェント スコープです。 スクリプトの環境変数として、およびビルド タスクのパラメーターとして使用できますが、ビルド番号の一部として、またはバージョン 管理タグとして使用することはできません。
Build.Repository.Provider 選択したリポジトリの種類。 この変数はエージェント スコープです。 スクリプトの環境変数として、およびビルド タスクのパラメーターとして使用できますが、ビルド番号の一部として、またはバージョン 管理タグとして使用することはできません。
Build.Repository.Tfvc.Workspace リポジトリがTeam Foundation バージョン管理されている場合に定義されます。 ビルド エージェントによって使用される TFVC ワークスペース の名前。

たとえば、Agent.BuildDirectory が で c:\agent_work\12 、Agent.Id が の場合、 8ワークスペース名は次のようになります。 ws_12_8

この変数はエージェント スコープです。 スクリプトの環境変数として、およびビルド タスクのパラメーターとして使用できますが、ビルド番号の一部として、またはバージョン 管理タグとして使用することはできません。
Build.Repository.Uri リポジトリの URL。 例:
  • Git: https://fabrikamfiber/tfs/DefaultCollection/Scripts/_git/Scripts
  • Tfvc: https://fabrikamfiber/tfs/DefaultCollection/
この変数はエージェント スコープです。 スクリプトの環境変数として、およびビルド タスクのパラメーターとして使用できますが、ビルド番号の一部として、またはバージョン 管理タグとして使用することはできません。
Build.RequestedFor ID 変数はどのように設定されますか?」を参照してください。

注: この値には、空白文字またはその他の無効なラベル文字を含めることができます。 このような場合、 ラベルの形式 は失敗します。

Build.RequestedForEmail ID 変数はどのように設定されますか?」を参照してください。
Build.RequestedForId ID 変数はどのように設定されますか?」を参照してください。
Build.SourceBranch ビルドがキューに登録されたブランチ。 次に例をいくつか示します。
  • Git リポジトリ ブランチ: refs/heads/main
  • Git リポジトリの pull request: refs/pull/1/merge
  • TFVC リポジトリ ブランチ: $/teamproject/main
  • TFVC リポジトリ ゲート チェックイン: Gated_2016-06-06_05.20.51.4369;username@live.com
  • TFVC リポジトリ シェルブセットのビルド: myshelveset;username@live.com
この変数をビルド番号形式で使用すると、スラッシュ文字 (/) がアンダースコア文字 _に置き換えられます。

注: TFVC では、ゲートチェックイン ビルドを実行している場合、またはシェルブセットを手動でビルドする場合、この変数をビルド番号形式で使用することはできません。
Build.SourceBranchName ビルドがキューに登録されたブランチの名前。
  • Git リポジトリ ブランチ、pull request、またはタグ: ref 内の最後のパス セグメント。たとえば、この値では refs/heads/main です main。 この値は refs/heads/feature/tools です tools
  • TFVC リポジトリ ブランチ: ワークスペースのルート サーバー パスの最後のパス セグメント。 たとえば、この値の $/teamproject/main は です main。 この値は refs/tags/your-tag-name です your-tag-name
  • TFVC リポジトリゲートチェックインまたはシェルブセットビルドは、シェルブセットの名前です。 たとえば、Gated_2016-06-06_05.20.51.4369;username@live.com または myshelveset;username@live.com です。
注: TFVC では、ゲートチェックイン ビルドを実行している場合、またはシェルブセットを手動でビルドする場合、この変数をビルド番号形式で使用することはできません。
Build.SourcesDirectory

ソース コード ファイルがダウンロードされるエージェントのローカル パス。 たとえば次のようになります。c:\agent_work\1\s

既定では、新しいビルド パイプラインは変更されたファイルのみを更新します。 [ リポジトリ] タブでファイルのダウンロード方法を変更できます。

この変数はエージェント スコープです。 スクリプトの環境変数として、およびビルド タスクのパラメーターとして使用できますが、ビルド番号の一部として、またはバージョン 管理タグとして使用することはできません。

この変数は、Build.Repository.LocalPath と同義です。

Build.SourceVersion このビルドに含まれる最新バージョンコントロールの変更。 この変数はエージェント スコープです。 スクリプトの環境変数として、およびビルド タスクのパラメーターとして使用できますが、ビルド番号の一部として、またはバージョン 管理タグとして使用することはできません。
Build.SourceVersionMessage コミットまたは変更セットのコメント。 最初の行または 200 文字のどちらか短い方にメッセージを切り捨てます。

この変数はエージェント スコープであり、スクリプトの環境変数およびビルド タスクのパラメーターとして使用できますが、ビルド番号の一部またはバージョン管理タグとして使用することはできません。

注: この変数は TFS 2015.4 で使用できます。

Note

ビルドの進行中に Batch が変更された場合、 Build.SourceVersionMessage 変数は Bitbucket リポジトリ のクラシック ビルド パイプラインでは 機能しません。

Build.StagingDirectory

成果物がコピー先にプッシュされる前にコピーされるエージェントのローカル パス。 たとえば次のようになります。c:\agent_work\1\a

このフォルダーを使用する一般的な方法は、[ ファイルのコピー ] タスクと [ビルド成果物の発行] タスクを使用して ビルド成果物を発行 することです。

注: Build.ArtifactStagingDirectory と Build.StagingDirectory は交換可能です。 このディレクトリは新しいビルドの前に消去されるため、自分でクリーンアップする必要はありません。

Azure Pipelines の成果物」を参照してください。

この変数はエージェント スコープです。 スクリプトの環境変数として、およびビルド タスクのパラメーターとして使用できますが、ビルド番号の一部として、またはバージョン 管理タグとして使用することはできません。

Build.Repository.Git.SubmoduleCheckout [リポジトリ] タブ[チェックアウト] サブモジュールで選択した値。

この変数はエージェント スコープです。 スクリプトの環境変数として、およびビルド タスクのパラメーターとして使用できますが、ビルド番号の一部として、またはバージョン 管理タグとして使用することはできません。
Build.SourceTfvcShelveset リポジトリがTeam Foundation バージョン管理されている場合に定義されます。

ゲートビルドまたはシェルブセットビルドを実行している場合、これは構築するシェルブセットの名前に設定されます。

注: この変数は、ビルド番号形式でのビルド使用に無効な値を生成します。
Common.TestResultsDirectory テスト結果が作成されるエージェントのローカル パス。 たとえば次のようになります。c:\agent_work\1\TestResults

この変数はエージェント スコープです。 スクリプトの環境変数として、およびビルド タスクのパラメーターとして使用できますが、ビルド番号の一部として、またはバージョン 管理タグとして使用することはできません。

システム変数 (TFS 2018)

変数説明
System.AccessToken OAuth トークンを使用して REST API にアクセスします

この変数はエージェント スコープです。 スクリプトの環境変数として、およびビルド タスクのパラメーターとして使用できますが、ビルド番号の一部として、またはバージョン 管理タグとして使用することはできません。
System.CollectionId TFS コレクションまたは Azure DevOps 組織の GUID
System.DefaultWorkingDirectory

ソース コード ファイルがダウンロードされるエージェントのローカル パス。 たとえば次のようになります。c:\agent_work\1\s

既定では、新しいビルド パイプラインは変更されたファイルのみを更新します。 [ リポジトリ] タブでファイルのダウンロード方法を変更できます。

この変数はエージェント スコープです。 スクリプトの環境変数として、およびビルド タスクのパラメーターとして使用できますが、ビルド番号の一部として、またはバージョン 管理タグとして使用することはできません。

System.DefinitionId ビルド パイプラインの ID。
System.HostType buildパイプラインがビルドの場合、またはreleaseパイプラインがリリースの場合は に設定します。
System.PullRequest.IsFork pull request がリポジトリのフォークからの場合、この変数は に True設定されます。 それ以外の場合は、 に False設定されます。 TFS 2018.2 で使用できます。
System.PullRequest.PullRequestId このビルドの原因となった pull request の ID。 (例: 17)。 (この変数は、 ブランチ ポリシーの影響を受ける Git PR が原因でビルドが実行された場合にのみ初期化されます)。
System.PullRequest.SourceBranch pull request でレビューされているブランチ。 (例: refs/heads/users/raisa/new-feature)。 (この変数は、 ブランチ ポリシーの影響を受ける Git PR が原因でビルドが実行された場合にのみ初期化されます)。
System.PullRequest.SourceRepositoryURI pull request を含むリポジトリへの URL。 (例: http://our-server:8080/tfs/DefaultCollection/_git/OurProject)。 (この変数は、ブランチ ポリシーの影響を受けるAzure Repos Git PR が原因でビルドが実行された場合にのみ初期化されます)。
System.PullRequest.TargetBranch pull request のターゲットであるブランチ。 (例: refs/heads/main)。 この変数は、 ブランチ ポリシーの影響を受ける Git PR が原因でビルドが実行された場合にのみ初期化されます。
System.TeamFoundationCollectionUri team foundation コレクションの URI。 (例: http://our-server:8080/tfs/DefaultCollection/)。

この変数はエージェント スコープです。 スクリプトの環境変数として、およびビルド タスクのパラメーターとして使用できますが、ビルド番号の一部として、またはバージョン 管理タグとして使用することはできません。
System.TeamProject このビルドを含むプロジェクトの名前。
System.TeamProjectId このビルドが属するプロジェクトの ID。
TF_BUILD スクリプトがビルド タスクによって実行されている場合は、 を に True 設定します。

この変数はエージェント スコープです。 スクリプトの環境変数として、およびビルド タスクのパラメーターとして使用できますが、ビルド番号の一部として、またはバージョン 管理タグとして使用することはできません。

ID 変数はどのように設定されますか?

値はビルドの原因によって異なり、Azure Reposリポジトリに固有です。

ビルドがトリガーされた場合... 次に、Build.QueuedBy と Build.QueuedById の値は に基づいています。... 次に、Build.RequestedFor と Build.RequestedForId の値は に基づいています。...
継続的インテグレーション (CI) トリガーによる Git または TFVC の場合 システム ID(例: [DefaultCollection]\Project Collection Service Accounts 変更をプッシュまたはチェックインしたユーザー。
Git または ブランチ ポリシー ビルド システム ID(例: [DefaultCollection]\Project Collection Service Accounts チェックインしたユーザーが変更されます。
ゲートチェックイントリガーによる TFVC 内 チェックインしたユーザーが変更されます。 チェックインしたユーザーが変更されます。
Git または TFVC の スケジュールされたトリガー システム ID(例: [DefaultCollection]\Project Collection Service Accounts システム ID(例: [DefaultCollection]\Project Collection Service Accounts
[Queue build]\(キュー ビルド\) ボタンをクリックしたため 自分 自分