使用預先定義的變數

Azure DevOps 服務 |Azure DevOps Server |Azure DevOps Server 2022

變數提供將重要資料位元匯入管道不同部分的便利方式。 這是可供您使用的預先定義變數清單。 可能有一些其他預先定義的變數,但大部分是供內部使用。

系統會自動設定這些變數,而且是唯讀的。 (例外狀況為 Build.Clean 和 System.Debug。)

在 YAML 管線中,您可以將預先定義的變數參考為環境變數。 例如,變數 Build.ArtifactStagingDirectory 會變成變數 BUILD_ARTIFACTSTAGINGDIRECTORY。

針對傳統管線,您可以在部署工作中使用 發行變數 來共用通用資訊(例如環境名稱、資源群組等)。

深入瞭解 如何使用變數。

提示

你可以請Copilot來幫忙處理變數。 欲了解更多,請參閱 Ask Copilot 以產生基於變數值 的條件階段。

Build.Clean

這是已淘汰的變數,可修改組建代理程式如何清除來源。 若要瞭解如何清除來源,請參閱 清除代理程式上的本機存放庫。

System.AccessToken

System.AccessToken 是一個特殊變數,會攜帶執行中組建所使用的安全性令牌。

在 YAML 中,您必須使用變數明確對應 System.AccessToken 至管線。 您可以在步驟或工作層級執行此動作。 例如,您可以使用 System.AccessToken 向容器登錄進行驗證。

steps:
- task: Docker@2
  inputs:
    command: login
    containerRegistry: '<docker connection>'
  env:
    SYSTEM_ACCESSTOKEN: $(System.AccessToken)

您可以設定使用建置作業授權範圍的預設範圍。System.AccessToken

System.Debug

如需偵錯管線問題的詳細記錄,請定義 System.Debug 並將其設定為 true。

  1. 編輯您的管線。

  2. 選取變數。

  3. 新增具有名稱和 System.Debug 值 true的新變數。

    將系統偵錯設定為 true

  4. 儲存新的變數。

設定 System.Debug 以 true 設定所有執行的詳細信息記錄。 您也可以使用 [ 啟用系統診斷] 複選框來設定單一執行的詳細信息記錄 。

您也可以將 設定System.Debugtrue為 管線或範本中的變數。

variables:
  system.debug: 'true'

當 設定為 時System.Debug,名為 true 的額外變數會設定為 Agent.Diagnostic。true 當 是 Agent.Diagnostic時true,代理程式會收集更多記錄,以便針對自我裝載代理程式的網路問題進行疑難解答。 如需詳細資訊,請參閱自我裝載式代理程式的網路診斷。

注意

此 Agent.Diagnostic 變數適用於 Agent v2.200.0 和更新版本。

如需詳細資訊,請參閱檢閱記錄以診斷管線問題。

代理程序變數 (DevOps Services)

注意

您可以使用代理程式變數作為腳本中的環境變數,以及做為建置工作中的參數。 您無法使用它們來自定義組建編號,或套用版本控制標籤或標籤。

變數 描述
Agent.BuildDirectory 代理程式上的本機路徑,其中會建立指定組建管線的所有資料夾。 此變數的值與 Pipeline.Workspace相同。 例如: /home/vsts/work/1 。 如需代理程式目錄結構的詳細資訊,請參閱 Agent 目錄結構。
Agent.ContainerMapping 從 YAML 中的容器資源名稱對應到運行時間的 Docker 識別碼。

范例如下表。
Agent.HomeDirectory 代理程式安裝到的目錄。 此變數包含代理程式軟體。 例如: c:\agent 。 如需代理程式目錄結構的詳細資訊,請參閱 Agent 目錄結構。
Agent.Id 代理程式的識別碼。
Agent.JobName 執行中作業的名稱。 此名稱通常 Job;或 __default,但在多組態案例中,它是組態。
Agent.JobStatus 組建的狀態。
  • Canceled
  • Failed
  • Succeeded
  • SucceededWithIssues (部分成功)
  • Skipped (上一份工作)
環境變數應參考為 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 該目錄用於任務,例如 Node Tool Installer 和 Use Python Version 用於在多個版本間切換工具。

這些工作會將工具從這個目錄新增至 , PATH 讓後續的建置步驟可以使用它們。

瞭解如何 在自我裝載代理程式上管理此目錄。
Agent.WorkFolder 此代理程式的工作目錄。

例如: c:\agent_work 。

注意:此目錄不保證可由管線工作寫入(例如,對應至容器時)。 如需代理程式目錄結構的詳細資訊,請參閱 Agent 目錄結構。

Agent.ContainerMapping 的範例:

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

建置變數 (DevOps Services)

當您在範本中使用未標示為可用之範本中的變數時,變數不會轉譯。 變數不會轉譯,因為它的值無法在範本的範圍內存取。

變數 描述 可在範本中使用?
Build.ArtifactStagingDirectory 將任何成品複製到其目的地之前,代理程式上的本機路徑。 例如: c:\agent_work\1\a 。

使用此資料夾的一般方式是使用複製檔案和發佈組建成品工作來發佈組建成品。

注意:Build.ArtifactStagingDirectory 和 Build.StagingDirectory 可交換。 此目錄會在每個新組建之前清除,因此您不需要自行清除目錄。

詳見Azure Pipelines<>中的Artifacts。 如需代理程式目錄結構的詳細資訊,請參閱 Agent 目錄結構。

此變數是代理程式範圍,而且可作為腳本中的環境變數,以及做為建置工作中的參數。 它不能當做組建編號的一部分或版本控制標記使用。
No
Build.BuildId 已完成組建之記錄的標識碼。 No
Build.BuildNumber 已完成組建的名稱,也稱為執行編號。 您可以指定 此值中包含的內容 。

此變數的一般用法是讓它成為您在存放庫索引卷標上指定之標籤格式的一部分。

注意:此值可以包含空格符或其他無效的標籤字元。 在這些情況下,標籤 格式 會失敗。

此變數是代理程式範圍,而且可作為腳本中的環境變數,以及做為建置工作中的參數。 它不能當做組建編號的一部分或版本控制標記使用。
No
Build.BuildUri 組建的 URI。 例如: vstfs:///Build/Build/1430 。

此變數是代理程式範圍,而且可作為腳本中的環境變數,以及做為建置工作中的參數。 它不能當做組建編號的一部分或版本控制標記使用。
No
Build.BinariesDirectory 代理程式上的本機路徑,您可以做為已編譯二進位檔的輸出資料夾。

在自我裝載代理程式上,新的組建管線預設不會設定為清除此目錄。 您可以定義組建,以在 [存放庫] 索引標籤上清除它。

例如: c:\agent_work\1\b 。 如需代理程式目錄結構的詳細資訊,請參閱 Agent 目錄結構。

此變數是代理程式範圍,而且可作為腳本中的環境變數,以及做為建置工作中的參數。 它不能當做組建編號的一部分或版本控制標記使用。
No
Build.ContainerId 成品容器的標識碼。 當您在管線中上傳成品時,它會新增至該特定成品特定的容器。 No
Build.CronSchedule.DisplayName displayName觸發管線執行之cron排程的 。 只有當 YAML 排程觸發程式觸發管線執行時,才會設定此變數。 如需詳細資訊,請參閱 schedules.cron 定義 - Build.CronSchedule.DisplayName 變數 Yes
Build.DefinitionName 組建管線的名稱。

注意:此值可以包含空格符或其他無效的標籤字元。 在這些情況下,標籤 格式 會失敗。
Yes
Build.DefinitionVersion 組建管線的版本。 Yes
Build.QueuedBy 請參閱 如何設定身分識別變數?。

注意:此值可以包含空格符或其他無效的標籤字元。 在這些情況下,標籤 格式 會失敗。
Yes
Build.QueuedById 請參閱 如何設定身分識別變數?。 Yes
Build.Reason 導致組建執行的事件。
  • Manual:使用者手動將組建排入佇列。
  • IndividualCI:持續整合 (CI) 由 Git 推送或 Team Foundation 版本控制 (TFVC) 簽入所觸發。
  • BatchedCI: Git 推送或 TFVC 簽入所觸發的持續整合 (CI), 並 已選取 Batch 變更 。
  • Schedule: 排程的 觸發程式。
  • ValidateShelveset:使用者手動將特定 TFVC 擱置集的組建排入佇列。
  • CheckInShelveset: 閘道簽入 觸發程式。
  • PullRequest:需要組建的 Git 分支原則會觸發組建。
  • BuildCompletion:另一個組建觸發程式 組建。
  • ResourceTrigger: 或 另一個組建觸發程式 組建。
請參閱 建置管線觸發程式、 使用分支原則改善程式碼品質。
Yes
Build.Repository.Clean 您在 來源存放庫設定中選取 Clean 的值。

此變數是代理程式範圍,而且可作為腳本中的環境變數,以及做為建置工作中的參數。 它不能當做組建編號的一部分或版本控制標記使用。
No
Build.Repository.LocalPath 下載原始碼檔案之代理程式的本機路徑。 例如: c:\agent_work\1\s 。

在自我裝載的代理程式上,新的組建管線預設只會更新已變更的檔案。 您可以修改在 [存放庫] 索引標籤上下載檔案的方式。

重要注意事項:如果您只簽出一個 Git 存放庫,此路徑就是程式碼的確切路徑。

如果您取出多個存放庫,行為如下所示(而且可能與 Build.SourcesDirectory 變數的值不同):
  • 如果自我存放庫的簽出步驟未定義自定義簽出路徑,或簽出路徑是自我存放庫的多重簽出預設路徑 $(Pipeline.Workspace)/s/&<RepoName> ,則此變數的值會還原為其預設值,也就是 $(Pipeline.Workspace)/s。
  • 如果自我(主要)存放庫的簽出步驟已定義自定義簽出路徑,而不是其多重簽出預設路徑,則此變數包含自我存放庫的確切路徑。
此變數是代理程式範圍,而且可作為腳本中的環境變數,以及做為建置工作中的參數。 它不能當做組建編號的一部分或版本控制標記使用。
No
Build.Repository.ID 存放庫的唯一標識碼。

即使存放庫的名稱確實如此,這個值也不會變更。
Yes
Build.Repository.Name 觸發存放 庫的名稱。 Yes
Build.Repository.Provider 觸發存放 庫的類型。
此變數是代理程式範圍,而且可作為腳本中的環境變數,以及做為建置工作中的參數。 它不能當做組建編號的一部分或版本控制標記使用。
No
Build.Repository.Tfvc.Workspace 如果您的存放庫 Team Foundation 版本控制,則定義。 組建代理程式所使用的 TFVC 工作區名稱。

例如,如果 Agent.BuildDirectory 是 c:\agent_work\12 ,且 Agent.Id 為 8,則工作區名稱可能是: ws_12_8

此變數是代理程式範圍,而且可作為腳本中的環境變數,以及做為建置工作中的參數。 它不能當做組建編號的一部分或版本控制標記使用。
No
Build.Repository.Uri 觸發存放庫的URL。 例如:
此變數不能當做組建編號的一部分或版本控制標記使用。
Yes
Build.RequestedFor 請參閱 如何設定身分識別變數?。

注意:此值可以包含空格符或其他無效的標籤字元。 在這些情況下,標籤 格式 會失敗。
Yes
Build.RequestedForEmail 請參閱 如何設定身分識別變數?。 Yes
Build.RequestedForId 請參閱 如何設定身分識別變數?。 Yes
Build.SourceBranch 建置已排入佇列之觸發存放庫的分支。 一些範例:
  • Git 存放庫分支: refs/heads/main
  • Git 存放庫提取要求: 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 中,如果您正在執行封閉式簽入組建或手動建置擱置集,則無法在組建編號格式中使用此變數。
Yes
Build.SourceBranchName 觸發存放庫中的分支名稱,組建已排入佇列。
  • Git 存放庫分支、提取要求或標籤: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 中,如果您正在執行封閉式簽入組建或手動建置擱置集,則無法在組建編號格式中使用此變數。
Yes
Build.SourcesDirectory 下載原始碼檔案之代理程式的本機路徑。 例如: c:\agent_work\1\s 。

在自我裝載代理程式上,新的組建管線只會更新已變更的檔案。 如需代理程式目錄結構的詳細資訊,請參閱 Agent 目錄結構。

重要注意事項:如果您只簽出一個 Git 存放庫,此路徑就是程式碼的確切路徑。 如果您取出多個存放庫,則會還原為其預設值,也就是 $(Pipeline.Workspace)/s即使將自我(主要)存放庫簽出到與其多重簽出預設路徑不同的自定義路徑 $(Pipeline.Workspace)/s/<RepoName> (在這方面,變數與 Build.Repository.LocalPath 變數的行為不同)。

此變數是代理程式範圍,而且可作為腳本中的環境變數,以及做為建置工作中的參數。 它不能當做組建編號的一部分或版本控制標記使用。
No
Build.SourceVersion 此組建中包含的觸發存放庫最新版本控制變更。
此變數是代理程式範圍,而且可作為腳本中的環境變數,以及做為建置工作中的參數。 它不能當做組建編號的一部分或版本控制標記使用。
Yes
Build.SourceVersionMessage 觸發存放庫之認可或變更集的批注。 我們會將訊息截斷為第一行或 200 個字元,只要較短。

會 Build.SourceVersionMessage 對應至認可時 Build.SourceVersion 訊息。 Build.SourceVersion PR 組建的認可是合併認可(不是來源分支上的認可)。

此變數是代理程式範圍,而且可作為腳本中的環境變數,以及做為建置工作中的參數。 它不能當做組建編號的一部分或版本控制標記使用。

此外,此變數僅適用於步驟層級,而且無法在作業或階段層級中使用。 也就是說,在作業啟動並取出程序代碼之前,不會擷取訊息。

注意:Build.SourceVersionMessage 變數無法在啟用 建置時 Batch 變更時,在 Bitbucket 存放庫中使用傳統建置管線。
No
Build.StageRequestedBy 當關卡手動運行時觸發該階段的人,或是Microsoft.VisualStudio.Services.TFS。

注意:此值可以包含空格符或其他無效的標籤字元。
No
Build.StageRequestedForId 手動執行階段時觸發階段的人員身分識別 GUID,否則 00000002-0000-8888-8000-000000000000 為 。 No
Build.StagingDirectory 將任何成品複製到其目的地之前,代理程式上的本機路徑。 例如: c:\agent_work\1\a 。 如需代理程式目錄結構的詳細資訊,請參閱 Agent 目錄結構。

使用此資料夾的一般方式是使用複製檔案和發佈組建成品工作來發佈組建成品。

注意:Build.ArtifactStagingDirectory 和 Build.StagingDirectory 可交換。 此目錄會在每個新組建之前清除,因此您不需要自行清除目錄。

詳見Azure Pipelines<>中的Artifacts。

此變數是代理程式範圍,而且可作為腳本中的環境變數,以及做為建置工作中的參數。 它不能當做組建編號的一部分或版本控制標記使用。
No
Build.Repository.Git.SubmoduleCheckout 您在 [存放庫] 索引標籤上選取 Checkout 子模組的值。取出多個存放庫后,此值會追蹤觸發存放庫的設定。

此變數是代理程式範圍,而且可作為腳本中的環境變數,以及做為建置工作中的參數。 它不能當做組建編號的一部分或版本控制標記使用。
No
Build.SourceTfvcShelveset 如果您的存放庫 Team Foundation 版本控制,則定義。

如果您正在執行 閘道組建 或 擱置集組建,此變數會設定為您建置 擱置 集的名稱。

注意:此變數會產生值,該值對組建編號格式的組建使用無效。
No
Build.TriggeredBy.BuildId 如果 另一個組建觸發程式 組建,則此變數會設定為觸發組建的 BuildID。 在傳統管線中,建置完成觸發程式會觸發此變數。

此變數是代理程式範圍,而且可作為腳本中的環境變數,以及做為建置工作中的參數。 它不能當做組建編號的一部分或版本控制標記使用。

如果您使用 觸發 YAML 管線 resources,您應該改用 資源變數 。
No
Build.TriggeredBy.DefinitionId 如果 另一個組建觸發程式 組建,則此變數會設定為觸發組建的DefinitionID。 在傳統管線中,建置完成觸發程式會觸發此變數。

此變數是代理程式範圍,而且可作為腳本中的環境變數,以及做為建置工作中的參數。 它不能當做組建編號的一部分或版本控制標記使用。

如果您使用 觸發 YAML 管線 resources,您應該改用 資源變數 。
No
Build.TriggeredBy.DefinitionName 如果 另一個組建觸發程式 組建,則此變數會設定為觸發建置管線的名稱。 在傳統管線中,建置完成觸發程式會觸發此變數。

此變數是代理程式範圍,而且可作為腳本中的環境變數,以及做為建置工作中的參數。 它不能當做組建編號的一部分或版本控制標記使用。

如果您使用 觸發 YAML 管線 resources,您應該改用 資源變數 。
No
Build.TriggeredBy.BuildNumber 如果 另一個組建觸發程式 組建,則此變數會設定為觸發組建的數目。 在傳統管線中,建置完成觸發程式會觸發此變數。

此變數是代理程式範圍,而且可作為腳本中的環境變數,以及做為建置工作中的參數。 它不能當做組建編號的一部分或版本控制標記使用。

如果您使用 觸發 YAML 管線 resources,您應該改用 資源變數 。
No
Build.TriggeredBy.ProjectID 如果 另一個組建觸發程式 組建,則此變數會設定為包含觸發組建的專案標識碼。 在傳統管線中,建置完成觸發程式會觸發此變數。

此變數是代理程式範圍,而且可作為腳本中的環境變數,以及做為建置工作中的參數。 它不能當做組建編號的一部分或版本控制標記使用。

如果您使用 觸發 YAML 管線 resources,您應該改用 資源變數 。
No
Common.TestResultsDirectory 建立測試結果之代理程式的本機路徑。 例如: c:\agent_work\1\TestResults 。 如需代理程式目錄結構的詳細資訊,請參閱 Agent 目錄結構。

此變數是代理程式範圍,而且可作為腳本中的環境變數,以及做為建置工作中的參數。 它不能當做組建編號的一部分或版本控制標記使用。
No

管線變數

變數 描述
Pipeline.Workspace 特定管線的工作區目錄。 此變數的值與 Agent.BuildDirectory相同。 例如: /home/vsts/work/1 。 如需代理程式目錄結構的詳細資訊,請參閱 Agent 目錄結構。

提示

如果您使用傳統發行管線,您可以使用 傳統版本和成品變數 來儲存和存取整個管線中的數據。

部署作業變數

這些變數的範圍是特定 部署作業,而且只會在作業運行時間解析。

變數 描述
Environment.Name 部署作業中以執行部署步驟為目標的環境名稱,並記錄部署歷程記錄。 例如: smarthotel-dev 。
Environment.Id 部署作業中目標環境標識碼。 例如: 10 。
Environment.ResourceName 以部署作業為目標的環境內特定資源名稱,以執行部署步驟並記錄部署歷程記錄。 例如,bookings 這是 Kubernetes 命名空間,會新增為資源至環境 smarthotel-dev。
Environment.ResourceId 以部署作業為目標之環境內特定資源的標識碼,以執行部署步驟。 例如: 4 。
Strategy.Name 部署原則名稱: canary、 runOnce或 rolling。
Strategy.CycleName 部署中的目前循環名稱。 選項為 PreIteration、 Iteration或 PostIteration。

系統變數

當您在範本中使用未標示為可用之範本中的變數時,變數不會轉譯。 變數不會轉譯,因為它的值無法在範本的範圍內存取。

變數 描述 可在範本中使用?
System.AccessToken 使用 OAuth 令牌來存取 REST API。

從 YAML 腳本使用 System.AccessToken。

此變數是代理程式範圍,而且可作為腳本中的環境變數,以及做為建置工作中的參數。 它不能當做組建編號的一部分或版本控制標記使用。
Yes
System.CollectionId Azure DevOps 組織或集合的 GUID。 Yes
System.CollectionUri Azure DevOps 組織或集合的 URI。 例如: https://dev.azure.com/fabrikamfiber/ 。 Yes
System.DefaultWorkingDirectory 下載原始碼檔案之代理程式的本機路徑。 例如:c:\agent_work\1\s 如需代理程式目錄結構的詳細資訊,請參閱 Agent 目錄結構。

在自我裝載的代理程式上,新的組建管線預設只會更新已變更的檔案。 您可以修改在 [存放庫] 索引標籤上下載檔案的方式。

此變數為代理程式範圍。 它可以做為腳本中的環境變數,以及做為建置工作中的參數。 它不能當做組建編號的一部分或版本控制標記使用。
Yes
System.DefinitionId 組建管線的標識碼。 Yes
System.HostType build如果管線是組建,則設定為 。 針對發行,這些值適用於 deployment 部署群組作業、 gates 在評估網關期間,以及其他 release (Agent 和 Agentless) 作業。 Yes
System.JobAttempt 第一次嘗試此作業時設定為1,並在每次重試作業時遞增。 No
System.JobDisplayName 提供給作業的人類可讀取名稱。 No
System.JobId 單一作業嘗試的唯一標識碼。 值對目前的管線而言是唯一的。 No
System.JobName 作業的名稱,通常用於表示相依性及存取輸出變數。 No
System.OidcRequestUri 使用 OpenID Connect(OIDC)產生一個 idToken,以便與 Entra ID 進行認證。 深入了解。 Yes
System.PhaseAttempt 第一次嘗試此階段時設定為1,並在每次重試作業時遞增。

注意:「階段」是一個大部分多餘的概念,代表作業的設計時間(而作業是階段的運行時間版本)。 相的概念大多已從Azure Pipelines中移除。 矩陣和多重設定作業是唯一一個階段與作業相異的地方。 一個階段可以具現化多個作業,這隻會在其輸入中有所不同。
No
System.PhaseDisplayName 提供給階段的人類可讀取名稱。 No
System.PhaseName 作業的字串型識別碼,通常用於表示相依性及存取輸出變數。 No
System.PlanId 單一管線執行的字串型標識碼。 No
System.PullRequest.IsFork 如果提取要求來自存放庫的分支,此變數會設定為 True。

否則,它會設定為 False。
Yes
System.PullRequest.PullRequestId 造成此組建之提取要求的標識碼。 例如: 17 。 (只有當建置因為 而 執行時,才會初始化此變數受分支原則影響的 Git PR。 No
System.PullRequest.PullRequestNumber 造成此組建的提取要求數目。 這個變數是為來自 GitHub 的拉取請求(pull request)而填入,這些請求的 ID 和 pull request 編號不同。 只有在分支原則影響PR時,YAML管線才能使用此變數。 No
System.PullRequest.targetBranchName 提取要求的目標分支名稱。 此變數可用於管線中,根據提取要求的目標分支,有條件地執行工作或步驟。 例如,根據要合併變更的分支,您可能會想要觸發一組不同的測試或程式碼分析工具。 No
System.PullRequest.SourceBranch 正在提取要求中檢閱的分支。 例如:refs/heads/users/raisa/new-feature 表示 Azure Repos。 (只有當建置因為 而 執行時,才會初始化此變數受分支原則影響的 Git PR。 只有在分支原則影響PR時,YAML管線才能使用此變數。 No
System.PullRequest.SourceCommitId 正在提取要求中檢閱的認可。 (只有當建置因為 而 執行時,才會初始化此變數受分支原則影響的 Git PR。 只有在分支原則影響PR時,YAML管線才能使用此變數。
System.PullRequest.SourceRepositoryUri 包含提取要求的存放庫 URL。 例如: https://dev.azure.com/ouraccount/_git/OurProject 。 No
System.PullRequest.TargetBranch 作為提取要求目標的分支。 例如:當你的儲存庫在Azure Repos時,refs/heads/main;當你的儲存庫在GitHub時,main。 只有當組建因為受到分支原則影響的 Git PR 而執行時,才會初始化此變數。 只有在分支原則影響PR時,YAML管線才能使用此變數。 No
System.StageAttempt 第一次嘗試此階段時設定為1,並在每次重試階段時遞增。 No
System.StageDisplayName 提供給階段的人類可讀取名稱。 No
System.StageName 階段的字串型識別碼,通常用於表示相依性及存取輸出變數。 No
System.TeamFoundationCollectionUri Azure DevOps 組織或集合的 URI。 例如: https://dev.azure.com/fabrikamfiber/ 。

此變數是代理程式範圍,而且可作為腳本中的環境變數,以及做為建置工作中的參數。 它不能當做組建編號的一部分或版本控制標記使用。
Yes
System.TeamProject 包含此組建的項目名稱。 Yes
System.TeamProjectId 此組建所屬項目的識別碼。 Yes
System.TimelineId 單一管線執行之執行詳細數據和記錄的字串型標識碼。 No
TF_BUILD 如果建置工作執行文稿,請將 設定為 True。

此變數是代理程式範圍,而且可作為腳本中的環境變數,以及做為建置工作中的參數。 它不能當做組建編號的一部分或版本控制標記使用。
No

檢查變數 (DevOps Services)

變數 描述
Checks.StageAttempt 第一次嘗試此階段時設定為1,並在每次重試階段時遞增。

此變數只能在核准或檢查環境內使用。 例如,您可以在叫用 $(Checks.StageAttempt) REST API 檢查中使用。

將階段嘗試新增為參數。

Agent variables (Azure DevOps Server)

注意

您可以使用代理程式變數作為腳本中的環境變數,以及做為建置工作中的參數。 您無法使用它們來自定義組建編號,或套用版本控制標籤或標籤。

變數 描述
Agent.BuildDirectory 代理程式上的本機路徑,其中會建立指定組建管線的所有資料夾。 此變數的值與 Pipeline.Workspace相同。 例如: /home/vsts/work/1 。 如需代理程式目錄結構的詳細資訊,請參閱 Agent 目錄結構。
Agent.ContainerMapping 從 YAML 中的容器資源名稱對應到運行時間的 Docker 識別碼。 范例如下表。
Agent.HomeDirectory 代理程式的安裝目錄,並包含代理程序軟體。 例如: c:\agent 。 如需代理程式目錄結構的詳細資訊,請參閱 Agent 目錄結構。
Agent.Id 代理程式的識別碼。
Agent.JobName 執行中作業的名稱。 名稱通常是 Job 或 __default,但在多重設定案例中,它是組態。
Agent.JobStatus 組建的狀態。
  • Canceled
  • Failed
  • Succeeded
  • SucceededWithIssues (部分成功)
  • Skipped (上一份工作)
環境變數應參考為 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 該目錄用於任務,例如 Node Tool Installer 和 Use Python Version 用於在多個版本間切換工具。

這些工作會將工具從這個目錄新增至 , PATH 讓後續的建置步驟可以使用它們。

瞭解如何 在自我裝載代理程式上管理此目錄。
Agent.WorkFolder 此代理程式的工作目錄。 例如: c:\agent_work 。

注意:此目錄不保證可由管線工作寫入(例如,對應至容器時)。 如需代理程式目錄結構的詳細資訊,請參閱 Agent 目錄結構。

Agent.ContainerMapping 的範例:

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

Build variables (Azure DevOps Server)

當您在範本中使用未標示為可用之範本中的變數時,變數不會轉譯。 變數不會轉譯,因為它的值無法在範本的範圍內存取。

變數 描述 可在範本中使用?
Build.ArtifactStagingDirectory 將任何成品複製到其目的地之前,代理程式上的本機路徑。 例如: c:\agent_work\1\a 。 如需代理程式目錄結構的詳細資訊,請參閱 Agent 目錄結構。

使用此資料夾的一般方式是使用複製檔案和發佈組建成品工作來發佈組建成品。

注意:Build.ArtifactStagingDirectory 和 Build.StagingDirectory 可交換。 此目錄會在每個新組建之前清除,因此您不需要自行清除目錄。

詳見Azure Pipelines<>中的Artifacts。

它可以做為腳本中的環境變數,以及做為建置工作中的參數。 它不能當做組建編號的一部分或版本控制標記使用。
No
Build.BuildId 已完成組建之記錄的標識碼。 No
Build.BuildNumber 已完成組建的名稱,也稱為執行編號。 您可以指定 此值中包含的內容 。

此變數的一般用法是讓它成為您在存放庫索引卷標上指定之標籤格式的一部分。

注意:此值可以包含空格符或其他無效的標籤字元。 在這些情況下,標籤 格式 會失敗。

它可以做為腳本中的環境變數,以及做為建置工作中的參數。 它不能當做組建編號的一部分或版本控制標記使用。
No
Build.BuildUri 組建的 URI。 例如: vstfs:///Build/Build/1430 。

它可以做為腳本中的環境變數,以及做為建置工作中的參數。 它不能當做組建編號的一部分或版本控制標記使用。
No
Build.BinariesDirectory 代理程式上的本機路徑,您可以做為已編譯二進位檔的輸出資料夾。 例如: c:\agent_work\1\b 。 如需代理程式目錄結構的詳細資訊,請參閱 Agent 目錄結構。

根據預設,不會設定新的組建管線來清除此目錄。 您可以定義組建,以在 [存放庫] 索引標籤上清除它。



它可以做為腳本中的環境變數,以及做為建置工作中的參數。 它不能當做組建編號的一部分或版本控制標記使用。
No
Build.ContainerId 成品容器的標識碼。 當您在管線中上傳成品時,它會新增至該特定成品特定的容器。 No
Build.CronSchedule.DisplayName displayName觸發管線執行之cron排程的 。 只有當 YAML 排程觸發程式觸發管線執行時,才會設定此變數。 如需詳細資訊,請參閱 schedules.cron 定義 - Build.CronSchedule.DisplayName 變數。 呢個變數喺 Azure DevOps Server 2022.1 及以上版本中可用。 Yes
Build.DefinitionName 組建管線的名稱。

注意:此值可以包含空格符或其他無效的標籤字元。 在這些情況下,標籤 格式 會失敗。
Yes
Build.DefinitionVersion 組建管線的版本。 Yes
Build.QueuedBy 請參閱 如何設定身分識別變數?。

注意:此值可以包含空格符或其他無效的標籤字元。 在這些情況下,標籤 格式 會失敗。
Yes
Build.QueuedById 請參閱 如何設定身分識別變數?。 Yes
Build.Reason 導致組建執行的事件。
  • Manual:使用者手動將組建排入佇列。
  • IndividualCI: 由 Git 推送或 TFVC 簽入所觸發的持續整合 (CI )。
  • BatchedCI: Git 推送或 TFVC 簽入所觸發的持續整合 (CI), 並 已選取 Batch 變更 。
  • Schedule: 排程的 觸發程式。
  • ValidateShelveset:使用者手動將特定 TFVC 擱置集的組建排入佇列。
  • CheckInShelveset: 閘道簽入 觸發程式。
  • PullRequest:需要組建的 Git 分支原則會觸發組建。
  • BuildCompletion:另一個組建 觸發組建
  • ResourceTrigger:資源觸發程式 或 另一個組建 觸發組建。
請參閱 建置管線觸發程式、 使用分支原則改善程式碼品質。
Yes
Build.Repository.Clean 您在 來源存放庫設定中為 Clean 選取的值。

它可以做為腳本中的環境變數,以及做為建置工作中的參數。 它不能當做組建編號的一部分或版本控制標記使用。
No
Build.Repository.LocalPath 下載原始碼檔案之代理程式的本機路徑。 例如: c:\agent_work\1\s 。

根據預設,新的組建管線只會更新已變更的檔案。 您可以修改在 [存放庫] 索引標籤上下載檔案的方式。

重要注意事項:如果您只簽出一個 Git 存放庫,此路徑就是程式碼的確切路徑。 如果您取出多個存放庫,行為如下所示(而且可能與 Build.SourcesDirectory 變數的值不同):
  • 如果自我存放庫的簽出步驟未定義自定義簽出路徑,或簽出路徑是自我存放庫的多重簽出預設路徑 $(Pipeline.Workspace)/s/<RepoName> ,則此變數的值會還原為其預設值,也就是 $(Pipeline.Workspace)/s。
  • 如果自我存放庫的簽出步驟已定義自定義簽出路徑,而且不是其多重簽出預設路徑,則此變數會包含自我存放庫的確切路徑。
它可以做為腳本中的環境變數,以及做為建置工作中的參數。 它不能當做組建編號的一部分或版本控制標記使用。
No
Build.Repository.ID 存放庫的唯一標識碼。 Yes
Build.Repository.Name 觸發存放 庫的名稱。 Yes
Build.Repository.Provider 觸發存放 庫的類型。
它可以做為腳本中的環境變數,以及做為建置工作中的參數。 它不能當做組建編號的一部分或版本控制標記使用。
No
Build.Repository.Tfvc.Workspace 如果您的存放庫 Team Foundation 版本控制,則定義。 組建代理程式所使用的 TFVC 工作區名稱。

例如,如果 Agent.BuildDirectory 是 c:\agent_work\12 ,且 Agent.Id 為 8,則工作區名稱可能是: ws_12_8。

它可以做為腳本中的環境變數,以及做為建置工作中的參數。 它不能當做組建編號的一部分或版本控制標記使用。
No
Build.Repository.Uri 觸發存放庫的URL。 例如:此變數不能當做組建編號的一部分或版本控制標記使用。 Yes
Build.RequestedFor 請參閱「如何設定身分識別變數?」。

注意:此值可以包含空格符或其他無效的標籤字元。 在這些情況下,標籤 格式 會失敗。
Yes
Build.RequestedForEmail 請參閱「如何設定身分識別變數?」。 Yes
Build.RequestedForId 請參閱「如何設定身分識別變數?」。 Yes
Build.SourceBranch 建置已排入佇列之觸發存放庫的分支。 一些範例:
  • Git 存放庫分支: refs/heads/main
  • Git 存放庫提取要求: 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 中,如果您正在執行封閉式簽入組建或手動建置擱置集,則無法在組建編號格式中使用此變數。
Yes
Build.SourceBranchName 觸發存放庫中的分支名稱,組建已排入佇列。
  • Git 存放庫分支、提取要求或標籤: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 中,如果您正在執行封閉式簽入組建或手動建置擱置集,則無法在組建編號格式中使用此變數。
Yes
Build.SourcesDirectory 下載原始碼檔案之代理程式的本機路徑。 例如: c:\agent_work\1\s 。 如需代理程式目錄結構的詳細資訊,請參閱 Agent 目錄結構。

根據預設,新的組建管線只會更新已變更的檔案。

重要注意事項:如果您只簽出一個 Git 存放庫,此路徑就是程式碼的確切路徑。 如果您取出多個存放庫,則會還原為其預設值,也就是 $(Pipeline.Workspace)/s即使將自我(主要)存放庫簽出到與其多重簽出預設路徑不同的自定義路徑 $(Pipeline.Workspace)/s/<RepoName> (在這方面,變數與 Build.Repository.LocalPath 變數的行為不同)。

它可以做為腳本中的環境變數,以及做為建置工作中的參數。 它不能當做組建編號的一部分或版本控制標記使用。
No
Build.SourceVersion 此組建中包含的觸發存放庫最新版本控制變更。
它可以做為腳本中的環境變數,以及做為建置工作中的參數。 它不能當做組建編號的一部分或版本控制標記使用。
Yes
Build.SourceVersionMessage 觸發存放庫之認可或變更集的批注。 我們會將訊息截斷為第一行或 200 個字元,只要較短。

會 Build.SourceVersionMessage 對應至認可時 Build.SourceVersion 訊息。 Build.SourceVersion PR 組建的認可是合併認可(不是來源分支上的認可)。

它可以做為腳本中的環境變數,以及做為建置工作中的參數。 它不能當做組建編號的一部分或版本控制標記使用。

此外,此變數僅適用於步驟層級。 無法在作業或階段層級中使用。 也就是說,在作業啟動並取出程序代碼之前,不會擷取訊息。

>注意:Build.SourceVersionMessage 變數在啟用 建置時, Batch 變更時,無法在 Bitbucket 存放庫中使用傳統建置管線。
No
Build.StagingDirectory 將任何成品複製到其目的地之前,代理程式上的本機路徑。 例如: c:\agent_work\1\a 。 如需代理程式目錄結構的詳細資訊,請參閱 Agent 目錄結構。

使用此資料夾的一般方式是使用複製檔案和發佈組建成品工作來發佈組建成品。

注意:Build.ArtifactStagingDirectory 和 Build.StagingDirectory 可交換。 此目錄會在每個新組建之前清除,因此您不需要自行清除目錄。

詳見Azure Pipelines<>中的Artifacts。

它可以做為腳本中的環境變數,以及做為建置工作中的參數。 它不能當做組建編號的一部分或版本控制標記使用。
No
Build.Repository.Git.SubmoduleCheckout 您在 [存放庫] 索引標籤上針對 [Checkout 子模組] 選取的值。取出多個存放庫后,此值會追蹤觸發存放庫的設定。

它可以做為腳本中的環境變數,以及做為建置工作中的參數。 它不能當做組建編號的一部分或版本控制標記使用。
No
Build.SourceTfvcShelveset 如果您的存放庫 Team Foundation 版本控制,則定義。

如果您正在執行 閘道組建 或 擱置集組建,此變數會設定為您建置 擱置 集的名稱。

注意:此變數會產生值,該值對組建編號格式的組建使用無效。
No
Build.TriggeredBy.BuildId 如果 另一個組建觸發程式 組建,則此變數會設定為觸發組建的 BuildID。 在傳統管線中,建置完成觸發程式會觸發此變數。

它可以做為腳本中的環境變數,以及做為建置工作中的參數。 它不能當做組建編號的一部分或版本控制標記使用。

如果您使用 觸發 YAML 管線 resources,您應該改用 資源變數 。
No
Build.TriggeredBy.DefinitionId 如果 另一個組建觸發程式 組建,則此變數會設定為觸發組建的DefinitionID。 在傳統管線中,建置完成觸發程式會觸發此變數。

它可以做為腳本中的環境變數,以及做為建置工作中的參數。 它不能當做組建編號的一部分或版本控制標記使用。

如果您使用 觸發 YAML 管線 resources,您應該改用 資源變數 。
No
Build.TriggeredBy.DefinitionName 如果 另一個組建觸發程式 組建,則此變數會設定為觸發建置管線的名稱。 在傳統管線中,建置完成觸發程式會觸發此變數。

它可以做為腳本中的環境變數,以及做為建置工作中的參數。 它不能當做組建編號的一部分或版本控制標記使用。

如果您使用 觸發 YAML 管線 resources,您應該改用 資源變數 。
No
Build.TriggeredBy.BuildNumber 如果 另一個組建觸發程式 組建,則此變數會設定為觸發組建的數目。 在傳統管線中,建置完成觸發程式會觸發此變數。

它可以做為腳本中的環境變數,以及做為建置工作中的參數。 它不能當做組建編號的一部分或版本控制標記使用。

如果您使用 觸發 YAML 管線 resources,您應該改用 資源變數 。
No
Build.TriggeredBy.ProjectID 如果 另一個組建觸發程式 組建,則此變數會設定為包含觸發組建的專案標識碼。 在傳統管線中,建置完成觸發程式會觸發此變數。

它可以做為腳本中的環境變數,以及做為建置工作中的參數。 它不能當做組建編號的一部分或版本控制標記使用。

如果您使用 觸發 YAML 管線 resources,您應該改用 資源變數 。
No
Common.TestResultsDirectory 建立測試結果之代理程式的本機路徑。 例如: c:\agent_work\1\TestResults 。 如需代理程式目錄結構的詳細資訊,請參閱 Agent 目錄結構。

它可以做為腳本中的環境變數,以及做為建置工作中的參數。 它不能當做組建編號的一部分或版本控制標記使用。
No

Pipeline variables (Azure DevOps Server)

變數 描述
Pipeline.Workspace 特定管線的工作區目錄。 此變數的值與 Agent.BuildDirectory相同。 例如: /home/vsts/work/1 。 如需代理程式目錄結構的詳細資訊,請參閱 Agent 目錄結構。

提示

如果您使用傳統發行管線,您可以使用 傳統版本和成品變數 來儲存和存取整個管線中的數據。

Deployment job variables (Azure DevOps Server)

這些變數的範圍是特定 部署作業,而且只會在作業運行時間解析。

變數 描述
Environment.Name 部署作業中以執行部署步驟為目標的環境名稱,並記錄部署歷程記錄。 例如: smarthotel-dev 。
Environment.Id 部署作業中目標環境標識碼。 例如: 10 。
Environment.ResourceName 以部署作業為目標的環境內特定資源名稱,以執行部署步驟並記錄部署歷程記錄。 例如,bookings 這是 Kubernetes 命名空間,會新增為資源至環境 smarthotel-dev。
Environment.ResourceId 以部署作業為目標之環境內特定資源的標識碼,以執行部署步驟。 例如: 4 。
Strategy.Name 部署原則名稱: canary、 runOnce或 rolling。
Strategy.CycleName 部署中的目前循環名稱。 選項為 PreIteration、 Iteration或 PostIteration。

System variables (Azure DevOps Server)

當您在範本中使用未標示為可用之範本中的變數時,變數不會轉譯。 變數不會轉譯,因為它的值無法在範本的範圍內存取。

變數 描述 可在範本中使用?
System.AccessToken 使用 OAuth 令牌來存取 REST API。

從 YAML 腳本使用 System.AccessToken。

它可以做為腳本中的環境變數,以及做為建置工作中的參數。 它不能當做組建編號的一部分或版本控制標記使用。
Yes
System.CollectionId Azure DevOps 組織或集合的 GUID。 Yes
System.CollectionUri Azure DevOps 組織或集合的 URI。 例如: https://dev.azure.com/fabrikamfiber/ 。 Yes
System.DefaultWorkingDirectory 下載原始碼檔案之代理程式的本機路徑。 例如:c:\agent_work\1\s 如需代理程式目錄結構的詳細資訊,請參閱 Agent 目錄結構。

在自我裝載的代理程式上,新的組建管線預設只會更新已變更的檔案。 您可以修改在 [存放庫] 索引標籤上下載檔案的方式。

此變數為代理程式範圍。 它可以做為腳本中的環境變數,以及做為建置工作中的參數。 它不能當做組建編號的一部分或版本控制標記使用。
Yes
System.DefinitionId 組建管線的標識碼。 Yes
System.HostType build如果管線是組建,則設定為 。 針對發行,這些值適用於 deployment 部署群組作業、 gates 在評估網關期間,以及其他 release (Agent 和 Agentless) 作業。 Yes
System.JobAttempt 第一次嘗試此作業時設定為1,並在每次重試作業時遞增。 No
System.JobDisplayName 提供給作業的人類可讀取名稱。 No
System.JobId 單一作業嘗試的唯一標識碼。 值對目前的管線而言是唯一的。 No
System.JobName 作業的名稱,通常用於表示相依性及存取輸出變數。 No
System.PhaseAttempt 第一次嘗試此階段時設定為1,並在每次重試作業時遞增。

注意:階段 是一個大部分多餘的概念,它代表作業的設計時間(而作業是階段的運行時間版本)。 階段的概念在 Azure Pipelines 中大多被移除。 矩陣和多重設定作業是唯一一個階段與作業相異的地方。 一個階段可以具現化多個作業,這隻會在其輸入中有所不同。
No
System.PhaseDisplayName 提供給階段的人類可讀取名稱。 No
System.PhaseName 作業的字串型識別碼,通常用於表示相依性及存取輸出變數。 No
System.PlanId 單一管線執行的字串型標識碼。 No
System.PullRequest.IsFork 如果提取要求來自存放庫的分支,此變數會設定為 True。 否則,它會設定為 False。 Yes
System.PullRequest.PullRequestId 造成此組建之提取要求的標識碼。 例如: 17 。 (只有當建置因為 而 執行時,才會初始化此變數受分支原則影響的 Git PR。 No
System.PullRequest.PullRequestNumber 造成此組建的提取要求數目。 這個變數是為來自 GitHub 的拉取請求(pull request)而填入,這些請求的 ID 和 pull request 編號不同。 只有在分支原則影響PR時,YAML管線才能使用此變數。 No
System.PullRequest.targetBranchName 提取要求的目標分支名稱。 此變數可用於管線中,根據提取要求的目標分支,有條件地執行工作或步驟。 例如,根據要合併變更的分支,您可能會想要觸發一組不同的測試或程式碼分析工具。 No
System.PullRequest.SourceBranch 正在提取要求中檢閱的分支。 例如:refs/heads/users/raisa/new-feature 表示 Azure Repos。 (只有當建置因為 而 執行時,才會初始化此變數受分支原則影響的 Git PR。 只有在分支原則影響PR時,YAML管線才能使用此變數。 No
System.PullRequest.SourceRepositoryUri 包含提取要求的存放庫 URL。 例如: https://dev.azure.com/ouraccount/_git/OurProject 。 No
System.PullRequest.TargetBranch 作為提取要求目標的分支。 例如:當你的儲存庫在Azure Repos時,refs/heads/main;當你的儲存庫在GitHub時,main。 只有當組建因為受到分支原則影響的 Git PR 而執行時,才會初始化此變數。 只有在分支原則影響PR時,YAML管線才能使用此變數。 No
System.StageAttempt 第一次嘗試此階段時設定為1,並在每次重試階段時遞增。 No
System.StageDisplayName 提供給階段的人類可讀取名稱。 No
System.StageName 階段的字串型識別碼,通常用於表示相依性及存取輸出變數。 No
System.TeamFoundationCollectionUri Azure DevOps 組織或集合的 URI。 例如: https://dev.azure.com/fabrikamfiber/ 。

它可以做為腳本中的環境變數,以及做為建置工作中的參數。 它不能當做組建編號的一部分或版本控制標記使用。
Yes
System.TeamProject 包含此組建的項目名稱。 Yes
System.TeamProjectId 此組建所屬項目的識別碼。 Yes
System.TimelineId 單一管線執行之執行詳細數據和記錄的字串型標識碼。 No
TF_BUILD 如果建置工作執行文稿,請將 設定為 True。

它可以做為腳本中的環境變數,以及做為建置工作中的參數。 它不能當做組建編號的一部分或版本控制標記使用。
No

Checks variables (Azure DevOps Server)

變數 描述
Checks.StageAttempt 第一次嘗試此階段時設定為1,並在每次重試階段時遞增。
此變數只能在核准或檢查環境內使用。 例如,您可以在叫用 $(Checks.StageAttempt) REST API 檢查中使用。
將階段嘗試新增為參數。

Agent variables (Azure DevOps Server 2022)

注意

您可以使用代理程式變數作為腳本中的環境變數,以及做為建置工作中的參數。 您無法使用它們來自定義組建編號,或套用版本控制標籤或標籤。

變數 描述
Agent.BuildDirectory 代理程式上的本機路徑,其中會建立指定組建管線的所有資料夾。 此變數的值與 Pipeline.Workspace相同。 例如: /home/vsts/work/1 。 如需代理程式目錄結構的詳細資訊,請參閱 Agent 目錄結構。
Agent.ContainerMapping 從 YAML 中的容器資源名稱對應到運行時間的 Docker 識別碼。 范例如下表。
Agent.HomeDirectory 代理程式的安裝目錄,並包含代理程序軟體。 例如: c:\agent 。 如需代理程式目錄結構的詳細資訊,請參閱 Agent 目錄結構。
Agent.Id 代理程式的識別碼。
Agent.JobName 執行中作業的名稱。 名稱通常是 Job 或 __default,但在多重設定案例中,它是組態。
Agent.JobStatus 組建的狀態。
  • Canceled
  • Failed
  • Succeeded
  • SucceededWithIssues (部分成功)
  • Skipped (上一份工作)
環境變數應參考為 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 該目錄用於任務,例如 Node Tool Installer 和 Use Python Version 用於在多個版本間切換工具。

這些工作會將工具從這個目錄新增至 , PATH 讓後續的建置步驟可以使用它們。

瞭解如何 在自我裝載代理程式上管理此目錄。
Agent.WorkFolder 此代理程式的工作目錄。 例如: c:\agent_work 。

注意:此目錄不保證可由管線工作寫入(例如,對應至容器時)。 如需代理程式目錄結構的詳細資訊,請參閱 Agent 目錄結構。

Agent.ContainerMapping 的範例:

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

Build variables (Azure DevOps Server 2022)

當您在範本中使用未標示為可用之範本中的變數時,變數不會轉譯。 變數不會轉譯,因為它的值無法在範本的範圍內存取。

變數 描述 可在範本中使用?
Build.ArtifactStagingDirectory 將任何成品複製到其目的地之前,代理程式上的本機路徑。 例如: c:\agent_work\1\a 。 如需代理程式目錄結構的詳細資訊,請參閱 Agent 目錄結構。

使用此資料夾的一般方式是使用複製檔案和發佈組建成品工作來發佈組建成品。

注意:Build.ArtifactStagingDirectory 和 Build.StagingDirectory 可交換。 此目錄會在每個新組建之前清除,因此您不需要自行清除目錄。

詳見Azure Pipelines<>中的Artifacts。

它可以做為腳本中的環境變數,以及做為建置工作中的參數。 它不能當做組建編號的一部分或版本控制標記使用。
No
Build.BuildId 已完成組建之記錄的標識碼。 No
Build.BuildNumber 已完成組建的名稱,也稱為執行編號。 您可以指定 此值中包含的內容 。

此變數的一般用法是讓它成為您在存放庫索引卷標上指定之標籤格式的一部分。

注意:此值可以包含空格符或其他無效的標籤字元。 在這些情況下,標籤 格式 會失敗。

它可以做為腳本中的環境變數,以及做為建置工作中的參數。 它不能當做組建編號的一部分或版本控制標記使用。
No
Build.BuildUri 組建的 URI。 例如: vstfs:///Build/Build/1430 。

它可以做為腳本中的環境變數,以及做為建置工作中的參數。 它不能當做組建編號的一部分或版本控制標記使用。
No
Build.BinariesDirectory 代理程式上的本機路徑,您可以做為已編譯二進位檔的輸出資料夾。 例如: c:\agent_work\1\b 。 如需代理程式目錄結構的詳細資訊,請參閱 Agent 目錄結構。

根據預設,不會設定新的組建管線來清除此目錄。 您可以定義組建,以在 [存放庫] 索引標籤上清除它。



它可以做為腳本中的環境變數,以及做為建置工作中的參數。 它不能當做組建編號的一部分或版本控制標記使用。
No
Build.ContainerId 成品容器的標識碼。 當您在管線中上傳成品時,它會新增至該特定成品特定的容器。 No
Build.CronSchedule.DisplayName displayName觸發管線執行之cron排程的 。 只有當 YAML 排程觸發程式觸發管線執行時,才會設定此變數。 如需詳細資訊,請參閱 schedules.cron 定義 - Build.CronSchedule.DisplayName 變數。 呢個變數喺 Azure DevOps Server 2022.1 及以上版本中可用。 Yes
Build.DefinitionName 組建管線的名稱。

注意:此值可以包含空格符或其他無效的標籤字元。 在這些情況下,標籤 格式 會失敗。
Yes
Build.DefinitionVersion 組建管線的版本。 Yes
Build.QueuedBy 請參閱 如何設定身分識別變數?。

注意:此值可以包含空格符或其他無效的標籤字元。 在這些情況下,標籤 格式 會失敗。
Yes
Build.QueuedById 請參閱 如何設定身分識別變數?。 Yes
Build.Reason 導致組建執行的事件。
  • Manual:使用者手動將組建排入佇列。
  • IndividualCI: 由 Git 推送或 TFVC 簽入所觸發的持續整合 (CI )。
  • BatchedCI: Git 推送或 TFVC 簽入所觸發的持續整合 (CI), 並 已選取 Batch 變更 。
  • Schedule: 排程的 觸發程式。
  • ValidateShelveset:使用者手動將特定 TFVC 擱置集的組建排入佇列。
  • CheckInShelveset: 閘道簽入 觸發程式。
  • PullRequest:需要組建的 Git 分支原則會觸發組建。
  • BuildCompletion:另一個組建 觸發組建
  • ResourceTrigger:資源觸發程式 或 另一個組建 觸發組建。
請參閱 建置管線觸發程式、 使用分支原則改善程式碼品質。
Yes
Build.Repository.Clean 您在 來源存放庫設定中為 Clean 選取的值。

它可以做為腳本中的環境變數,以及做為建置工作中的參數。 它不能當做組建編號的一部分或版本控制標記使用。
No
Build.Repository.LocalPath 下載原始碼檔案之代理程式的本機路徑。 例如: c:\agent_work\1\s 。

根據預設,新的組建管線只會更新已變更的檔案。 您可以修改在 [存放庫] 索引標籤上下載檔案的方式。

重要注意事項:如果您只簽出一個 Git 存放庫,此路徑就是程式碼的確切路徑。 如果您取出多個存放庫,行為如下所示(而且可能與 Build.SourcesDirectory 變數的值不同):
  • 如果自我存放庫的簽出步驟未定義自定義簽出路徑,或簽出路徑是自我存放庫的多重簽出預設路徑 $(Pipeline.Workspace)/s/<RepoName> ,則此變數的值會還原為其預設值,也就是 $(Pipeline.Workspace)/s。
  • 如果自我存放庫的簽出步驟已定義自定義簽出路徑,而且不是其多重簽出預設路徑,則此變數會包含自我存放庫的確切路徑。
它可以做為腳本中的環境變數,以及做為建置工作中的參數。 它不能當做組建編號的一部分或版本控制標記使用。
No
Build.Repository.ID 存放庫的唯一標識碼。 Yes
Build.Repository.Name 觸發存放 庫的名稱。 Yes
Build.Repository.Provider 觸發存放 庫的類型。
它可以做為腳本中的環境變數,以及做為建置工作中的參數。 它不能當做組建編號的一部分或版本控制標記使用。
No
Build.Repository.Tfvc.Workspace 如果您的存放庫 Team Foundation 版本控制,則定義。 組建代理程式所使用的 TFVC 工作區名稱。

例如,如果 Agent.BuildDirectory 是 c:\agent_work\12 ,且 Agent.Id 為 8,則工作區名稱可能是: ws_12_8。

它可以做為腳本中的環境變數,以及做為建置工作中的參數。 它不能當做組建編號的一部分或版本控制標記使用。
No
Build.Repository.Uri 觸發存放庫的URL。 例如:此變數不能當做組建編號的一部分或版本控制標記使用。 Yes
Build.RequestedFor 請參閱「如何設定身分識別變數?」。

注意:此值可以包含空格符或其他無效的標籤字元。 在這些情況下,標籤 格式 會失敗。
Yes
Build.RequestedForEmail 請參閱「如何設定身分識別變數?」。 Yes
Build.RequestedForId 請參閱「如何設定身分識別變數?」。 Yes
Build.SourceBranch 建置已排入佇列之觸發存放庫的分支。 一些範例:
  • Git 存放庫分支: refs/heads/main
  • Git 存放庫提取要求: 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 中,如果您正在執行封閉式簽入組建或手動建置擱置集,則無法在組建編號格式中使用此變數。
Yes
Build.SourceBranchName 觸發存放庫中的分支名稱,組建已排入佇列。
  • Git 存放庫分支、提取要求或標籤: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 中,如果您正在執行封閉式簽入組建或手動建置擱置集,則無法在組建編號格式中使用此變數。
Yes
Build.SourcesDirectory 下載原始碼檔案之代理程式的本機路徑。 例如: c:\agent_work\1\s 。 如需代理程式目錄結構的詳細資訊,請參閱 Agent 目錄結構。

根據預設,新的組建管線只會更新已變更的檔案。

重要注意事項:如果您只簽出一個 Git 存放庫,此路徑就是程式碼的確切路徑。 如果您取出多個存放庫,則會還原為其預設值,也就是 $(Pipeline.Workspace)/s即使將自我(主要)存放庫簽出到與其多重簽出預設路徑不同的自定義路徑 $(Pipeline.Workspace)/s/<RepoName> (在這方面,變數與 Build.Repository.LocalPath 變數的行為不同)。

它可以做為腳本中的環境變數,以及做為建置工作中的參數。 它不能當做組建編號的一部分或版本控制標記使用。
No
Build.SourceVersion 此組建中包含的觸發存放庫最新版本控制變更。
它可以做為腳本中的環境變數,以及做為建置工作中的參數。 它不能當做組建編號的一部分或版本控制標記使用。
Yes
Build.SourceVersionMessage 觸發存放庫之認可或變更集的批注。 我們會將訊息截斷為第一行或 200 個字元,只要較短。

會 Build.SourceVersionMessage 對應至認可時 Build.SourceVersion 訊息。 Build.SourceVersion PR 組建的認可是合併認可(不是來源分支上的認可)。

它可以做為腳本中的環境變數,以及做為建置工作中的參數。 它不能當做組建編號的一部分或版本控制標記使用。

此外,此變數僅適用於步驟層級。 無法在作業或階段層級中使用。 也就是說,在作業啟動並取出程序代碼之前,不會擷取訊息。

>注意:Build.SourceVersionMessage 變數在啟用 建置時, Batch 變更時,無法在 Bitbucket 存放庫中使用傳統建置管線。
No
Build.StagingDirectory 將任何成品複製到其目的地之前,代理程式上的本機路徑。 例如: c:\agent_work\1\a 。 如需代理程式目錄結構的詳細資訊,請參閱 Agent 目錄結構。

使用此資料夾的一般方式是使用複製檔案和發佈組建成品工作來發佈組建成品。

注意:Build.ArtifactStagingDirectory 和 Build.StagingDirectory 可交換。 此目錄會在每個新組建之前清除,因此您不需要自行清除目錄。

詳見Azure Pipelines<>中的Artifacts。

它可以做為腳本中的環境變數,以及做為建置工作中的參數。 它不能當做組建編號的一部分或版本控制標記使用。
No
Build.Repository.Git.SubmoduleCheckout 您在 [存放庫] 索引標籤上針對 [Checkout 子模組] 選取的值。取出多個存放庫后,此值會追蹤觸發存放庫的設定。

它可以做為腳本中的環境變數,以及做為建置工作中的參數。 它不能當做組建編號的一部分或版本控制標記使用。
No
Build.SourceTfvcShelveset 如果您的存放庫 Team Foundation 版本控制,則定義。

如果您正在執行 閘道組建 或 擱置集組建,此變數會設定為您建置 擱置 集的名稱。

注意:此變數會產生值,該值對組建編號格式的組建使用無效。
No
Build.TriggeredBy.BuildId 如果 另一個組建觸發程式 組建,則此變數會設定為觸發組建的 BuildID。 在傳統管線中,建置完成觸發程式會觸發此變數。

它可以做為腳本中的環境變數,以及做為建置工作中的參數。 它不能當做組建編號的一部分或版本控制標記使用。

如果您使用 觸發 YAML 管線 resources,您應該改用 資源變數 。
No
Build.TriggeredBy.DefinitionId 如果 另一個組建觸發程式 組建,則此變數會設定為觸發組建的DefinitionID。 在傳統管線中,建置完成觸發程式會觸發此變數。

它可以做為腳本中的環境變數,以及做為建置工作中的參數。 它不能當做組建編號的一部分或版本控制標記使用。

如果您使用 觸發 YAML 管線 resources,您應該改用 資源變數 。
No
Build.TriggeredBy.DefinitionName 如果 另一個組建觸發程式 組建,則此變數會設定為觸發建置管線的名稱。 在傳統管線中,建置完成觸發程式會觸發此變數。

它可以做為腳本中的環境變數,以及做為建置工作中的參數。 它不能當做組建編號的一部分或版本控制標記使用。

如果您使用 觸發 YAML 管線 resources,您應該改用 資源變數 。
No
Build.TriggeredBy.BuildNumber 如果 另一個組建觸發程式 組建,則此變數會設定為觸發組建的數目。 在傳統管線中,建置完成觸發程式會觸發此變數。

它可以做為腳本中的環境變數,以及做為建置工作中的參數。 它不能當做組建編號的一部分或版本控制標記使用。

如果您使用 觸發 YAML 管線 resources,您應該改用 資源變數 。
No
Build.TriggeredBy.ProjectID 如果 另一個組建觸發程式 組建,則此變數會設定為包含觸發組建的專案標識碼。 在傳統管線中,建置完成觸發程式會觸發此變數。

它可以做為腳本中的環境變數,以及做為建置工作中的參數。 它不能當做組建編號的一部分或版本控制標記使用。

如果您使用 觸發 YAML 管線 resources,您應該改用 資源變數 。
No
Common.TestResultsDirectory 建立測試結果之代理程式的本機路徑。 例如: c:\agent_work\1\TestResults 。 如需代理程式目錄結構的詳細資訊,請參閱 Agent 目錄結構。

它可以做為腳本中的環境變數,以及做為建置工作中的參數。 它不能當做組建編號的一部分或版本控制標記使用。
No

Pipeline variables (Azure DevOps Server 2022)

變數 描述
Pipeline.Workspace 特定管線的工作區目錄。 此變數的值與 Agent.BuildDirectory相同。 例如: /home/vsts/work/1 。 如需代理程式目錄結構的詳細資訊,請參閱 Agent 目錄結構。

提示

如果您使用傳統發行管線,您可以使用 傳統版本和成品變數 來儲存和存取整個管線中的數據。

Deployment job variables (Azure DevOps Server 2022)

這些變數的範圍是特定 部署作業,而且只會在作業運行時間解析。

變數 描述
Environment.Name 部署作業中以執行部署步驟為目標的環境名稱,並記錄部署歷程記錄。 例如: smarthotel-dev 。
Environment.Id 部署作業中目標環境標識碼。 例如: 10 。
Environment.ResourceName 以部署作業為目標的環境內特定資源名稱,以執行部署步驟並記錄部署歷程記錄。 例如,bookings 這是 Kubernetes 命名空間,會新增為資源至環境 smarthotel-dev。
Environment.ResourceId 以部署作業為目標之環境內特定資源的標識碼,以執行部署步驟。 例如: 4 。
Strategy.Name 部署原則名稱: canary、 runOnce或 rolling。
Strategy.CycleName 部署中的目前循環名稱。 選項為 PreIteration、 Iteration或 PostIteration。

System variables (Azure DevOps Server 2022)

當您在範本中使用未標示為可用之範本中的變數時,變數不會轉譯。 變數不會轉譯,因為它的值無法在範本的範圍內存取。

變數 描述 可在範本中使用?
System.AccessToken 使用 OAuth 令牌來存取 REST API。

從 YAML 腳本使用 System.AccessToken。

它可以做為腳本中的環境變數,以及做為建置工作中的參數。 它不能當做組建編號的一部分或版本控制標記使用。
Yes
System.CollectionId Azure DevOps 組織或集合的 GUID。 Yes
System.CollectionUri Azure DevOps 組織或集合的 URI。 例如: https://dev.azure.com/fabrikamfiber/ 。 Yes
System.DefaultWorkingDirectory 下載原始碼檔案之代理程式的本機路徑。 例如:c:\agent_work\1\s 如需代理程式目錄結構的詳細資訊,請參閱 Agent 目錄結構。

在自我裝載的代理程式上,新的組建管線預設只會更新已變更的檔案。 您可以修改在 [存放庫] 索引標籤上下載檔案的方式。

此變數為代理程式範圍。 它可以做為腳本中的環境變數,以及做為建置工作中的參數。 它不能當做組建編號的一部分或版本控制標記使用。
Yes
System.DefinitionId 組建管線的標識碼。 Yes
System.HostType build如果管線是組建,則設定為 。 針對發行,這些值適用於 deployment 部署群組作業、 gates 在評估網關期間,以及其他 release (Agent 和 Agentless) 作業。 Yes
System.JobAttempt 第一次嘗試此作業時設定為1,並在每次重試作業時遞增。 No
System.JobDisplayName 提供給作業的人類可讀取名稱。 No
System.JobId 單一作業嘗試的唯一標識碼。 值對目前的管線而言是唯一的。 No
System.JobName 作業的名稱,通常用於表示相依性及存取輸出變數。 No
System.PhaseAttempt 第一次嘗試此階段時設定為1,並在每次重試作業時遞增。

注意:階段 是一個大部分多餘的概念,它代表作業的設計時間(而作業是階段的運行時間版本)。 階段的概念在 Azure Pipelines 中大多被移除。 矩陣和多重設定作業是唯一一個階段與作業相異的地方。 一個階段可以具現化多個作業,這隻會在其輸入中有所不同。
No
System.PhaseDisplayName 提供給階段的人類可讀取名稱。 No
System.PhaseName 作業的字串型識別碼,通常用於表示相依性及存取輸出變數。 No
System.PlanId 單一管線執行的字串型標識碼。 No
System.PullRequest.IsFork 如果提取要求來自存放庫的分支,此變數會設定為 True。 否則,它會設定為 False。 Yes
System.PullRequest.PullRequestId 造成此組建之提取要求的標識碼。 例如: 17 。 (只有當建置因為 而 執行時,才會初始化此變數受分支原則影響的 Git PR。 No
System.PullRequest.PullRequestNumber 造成此組建的提取要求數目。 這個變數是為來自 GitHub 的拉取請求(pull request)而填入,這些請求的 ID 和 pull request 編號不同。 只有在分支原則影響PR時,YAML管線才能使用此變數。 No
System.PullRequest.targetBranchName 提取要求的目標分支名稱。 此變數可用於管線中,根據提取要求的目標分支,有條件地執行工作或步驟。 例如,根據要合併變更的分支,您可能會想要觸發一組不同的測試或程式碼分析工具。 No
System.PullRequest.SourceBranch 正在提取要求中檢閱的分支。 例如:refs/heads/users/raisa/new-feature 表示 Azure Repos。 (只有當建置因為 而 執行時,才會初始化此變數受分支原則影響的 Git PR。 只有在分支原則影響PR時,YAML管線才能使用此變數。 No
System.PullRequest.SourceRepositoryUri 包含提取要求的存放庫 URL。 例如: https://dev.azure.com/ouraccount/_git/OurProject 。 No
System.PullRequest.TargetBranch 作為提取要求目標的分支。 例如:當你的儲存庫在Azure Repos時,refs/heads/main;當你的儲存庫在GitHub時,main。 只有當組建因為受到分支原則影響的 Git PR 而執行時,才會初始化此變數。 只有在分支原則影響PR時,YAML管線才能使用此變數。 No
System.StageAttempt 第一次嘗試此階段時設定為1,並在每次重試階段時遞增。 No
System.StageDisplayName 提供給階段的人類可讀取名稱。 No
System.StageName 階段的字串型識別碼,通常用於表示相依性及存取輸出變數。 No
System.TeamFoundationCollectionUri Azure DevOps 組織或集合的 URI。 例如: https://dev.azure.com/fabrikamfiber/ 。

它可以做為腳本中的環境變數,以及做為建置工作中的參數。 它不能當做組建編號的一部分或版本控制標記使用。
Yes
System.TeamProject 包含此組建的項目名稱。 Yes
System.TeamProjectId 此組建所屬項目的識別碼。 Yes
System.TimelineId 單一管線執行之執行詳細數據和記錄的字串型標識碼。 No
TF_BUILD 如果建置工作執行文稿,請將 設定為 True。

它可以做為腳本中的環境變數,以及做為建置工作中的參數。 它不能當做組建編號的一部分或版本控制標記使用。
No

Checks variables (Azure DevOps Server 2022)

變數 描述
Checks.StageAttempt 第一次嘗試此階段時設定為1,並在每次重試階段時遞增。
此變數只能在核准或檢查環境內使用。 例如,您可以在叫用 $(Checks.StageAttempt) REST API 檢查中使用。
將階段嘗試新增為參數。

如何設定身分識別變數?

這個數值取決於建置的成因,且是 Azure Repos 倉庫特有的。

如果觸發組建... 然後 Build.QueuedBy 和 Build.QueuedById 值會以... 然後 Build.RequestedFor 和 Build.RequestedForId 值會以...
在 Git 中或持續 整合 (CI) 觸發程式 系統身份,例如:[DefaultCollection]\Project Collection Service Accounts 推送或簽入變更的人員。
在 Git 或分支 原則組建中。 系統身份,例如:[DefaultCollection]\Project Collection Service Accounts 簽入變更的人員。
在 TFVC 中,由 閘道簽入觸發程式 簽入變更的人員。 簽入變更的人員。
依排程觸發程式在 Git 或 TFVC 中 系統身份,例如:[DefaultCollection]\Project Collection Service Accounts 系統身份,例如:[DefaultCollection]\Project Collection Service Accounts
因為您按兩下 [ 佇列建置] 按鈕 您 您

Ask Copilot 根據變數值產生一個條件的階段

使用 Copilot 來產生一個由變數值決定條件的階段。

此範例提示會定義 Agent.JobStatus 指出上一個階段已順利執行時執行的階段:

建立一個新的Azure DevOps階段,只有當 Agent.JobStatus 是 Succeeded 或 SucceededWithIssues 時才會運行。

您可以自訂提示,以使用符合您需求的值。 例如,您可以要求協助建立只在管線失敗時執行的階段。

注意

GitHub Copilot 由 AI 驅動,因此意外與錯誤是有可能發生的。 請務必確認任何產生的程式代碼或建議。 欲了解更多關於GitHub Copilot的一般使用、產品影響、人類監督及隱私的資訊,請參閱 GitHub Copilot FAQs。