使用預先定義的變數

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

注意

在 Microsoft Team Foundation Server 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.Debugtrue 的新變數。

    Set System Debug to true

  4. 儲存新的變數。

設定 System.Debugtrue 設定所有執行的詳細資訊記錄。 您也可以使用 [ 啟用系統診斷] 核取方塊來設定單一執行的詳細資訊記錄

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

variables:
  system.debug: 'true'

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

注意

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

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

代理程式變數 (DevOps Services)

注意

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

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

範例如下表。
Agent.HomeDirectory 代理程式安裝到的目錄。 這包括代理程式軟體。 例如: c:\agent
Agent.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 工作等 工作會使用此目錄來保存暫存專案,例如測試結果發佈之前。

例如: /home/vsts/work/_temp 適用于 Ubuntu。
Agent.ToolsDirectory 節點工具安裝程式 和使用 Python 版本 等 工作所使用的目錄,可在工具的多個版本之間切換。

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

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

例如: c:\agent_work

注意:此目錄不保證可由管線工作寫入(例如,對應至容器時)

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 中的成品。

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

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

注意:此值可以包含空白字元或其他不正確標籤字元。 在這些情況下,卷 標格式 會失敗。

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

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

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

例如: c:\agent_work\1\b

此變數是代理程式範圍,而且可作為腳本中的環境變數和建置工作中的參數,但不能做為組建編號或版本控制標記的一部分。
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 由 Git 推送或 TFVC 簽入所觸發的持續整合 (CI )。
  • BatchedCI Git 推送或 TFVC 簽入所觸發的持續整合 (CI), 已選取 Batch 變更
  • Schedule 排程的 觸發程式。
  • ValidateShelveset:使用者手動將特定 TFVC 擱置集的組建排入佇列。
  • CheckInShelveset 閘道簽入 觸發程式。
  • PullRequest:組建是由需要組建的 Git 分支原則所觸發。
  • BuildCompletion:組建是由 另一個組建觸發
  • ResourceTrigger:組建是由 資源觸發程式 所觸發,或是由 另一個組建 觸發。
請參閱 建置管線觸發程式 使用分支 原則改善程式碼品質。
Yes
Build.Repository.Clean 您在來源存放庫設定 針對 [清除 ] 選取的值。

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

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

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

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

即使存放庫的名稱確實如此,這也不會變更。

此變數是代理程式範圍,而且可作為腳本中的環境變數和建置工作中的參數,但不能做為組建編號或版本控制標記的一部分。
No
Build.Repository.Name 觸發存放 的名稱。

此變數是代理程式範圍,而且可作為腳本中的環境變數和建置工作中的參數,但不能做為組建編號或版本控制標記的一部分。
No
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。 例如:
此變數是代理程式範圍,而且可作為腳本中的環境變數和建置工作中的參數,但不能做為組建編號或版本控制標記的一部分。
No
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/mainmain 。 在此值中 refs/heads/feature/toolstools 。 在此值中 refs/tags/your-tag-nameyour-tag-name
  • TFVC 存放庫分支:工作區根伺服器路徑中的最後一個路徑區段。 例如,在此值中 $/teamproject/mainmain
  • TFVC 存放庫閘道存回或擱置集組建是擱置集的名稱。 例如,Gated_2016-06-06_05.20.51.4369;username@live.commyshelveset;username@live.com
注意:在 TFVC 中,如果您正在執行封閉式簽入組建或手動建置擱置集,則無法在組建編號格式中使用此變數。
Yes
Build.SourcesDirectory 下載原始程式碼檔案之代理程式的本機路徑。 例如: c:\agent_work\1\s

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

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

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

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

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

此外,這個變數只能在步驟層級上使用,而且無法在作業或階段層級中使用(也就是說,在作業啟動和取出程式碼之前,不會擷取訊息)。

注意:TFS 2015.4 提供此變數。

注意: 在啟用建置時 Batch 變更時 ,Build.SourceVersionMessage 變數不適用於 Bitbucket 存放庫中的傳統組建 管線。
No
Build.StagingDirectory 將任何成品複製到其目的地之前,代理程式上的本機路徑。 例如: c:\agent_work\1\a

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

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

請參閱 Azure Pipelines 中的成品。

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

此變數是代理程式範圍,而且可作為腳本中的環境變數和建置工作中的參數,但不能做為組建編號或版本控制標記的一部分。
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

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

管線變數 (DevOps Services)

變數 描述
Pipeline.Workspace 特定管線的工作區目錄。 此變數的值與 Agent.BuildDirectory 相同。 例如: /home/vsts/work/1

提示

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

部署作業變數 (DevOps Services)

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

變數 描述
Environment.Name 部署作業中以執行部署步驟為目標的環境名稱,並記錄部署歷程記錄。 例如: smarthotel-dev
Environment.Id 部署作業中目標環境識別碼。 例如: 10
Environment.ResourceName 以部署作業為目標的環境內特定資源名稱,以執行部署步驟並記錄部署歷程記錄。 例如,這是 Kubernetes 命名空間, bookings 已新增為環境 smarthotel-dev 的資源。
Environment.ResourceId 以部署作業為目標之環境內特定資源的識別碼,以執行部署步驟。 例如: 4
Strategy.Name 部署策略的名稱: canaryrunOncerolling
Strategy.CycleName 部署中的目前迴圈名稱。 選項為 PreIterationIterationPostIteration

系統變數 (DevOps Services)

變數 描述 可在範本 中使用
System.AccessToken 使用 OAuth 權杖來存取 REST API

從 YAML 腳本 使用 System.AccessToken。

此變數是代理程式範圍,而且可作為腳本中的環境變數和建置工作中的參數,但不能做為組建編號或版本控制標記的一部分。
Yes
System.CollectionId TFS 集合或 Azure DevOps 組織的 GUID。 Yes
System.CollectionUri TFS 集合或 Azure DevOps 組織的 URI。 例如: https://dev.azure.com/fabrikamfiber/ Yes
System.DefaultWorkingDirectory 下載原始程式碼檔案之代理程式的本機路徑。 例如:c:\agent_work\1\s

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

此變數為代理程式範圍。 它可以當做腳本中的環境變數和建置工作中的參數使用,但不能做為組建編號的一部分或版本控制標記。
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 提取要求填入。 只有在 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 作為提取要求目標的分支。 例如: refs/heads/main 當您的存放庫位於 Azure Repos,以及 main 存放庫位於 GitHub 時。 只有當組建因為受到分支 原則影響的 Git PR 而執行 時,才會初始化此變數。 只有在 PR 受到分支原則影響時,YAML 管線才能使用此變數。 No
System.StageAttempt 第一次嘗試此階段時設定為 1,並在每次重試作業時遞增。 No
System.StageDisplayName 提供給階段的人類可讀取名稱。 No
System.StageName 階段的字串型識別碼,通常用於表示相依性及存取輸出變數。 No
System.TeamFoundationCollectionUri TFS 集合或 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 檢查 中使用

Add the stage attempt as a parameter.

代理程式變數 (DevOps Server 2022)

注意

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

變數描述
Agent.BuildDirectory

代理程式上的本機路徑,其中會建立指定組建管線的所有資料夾。 此變數的值與 Pipeline.Workspace 相同。

例如:/home/vsts/work/1

Agent.ContainerMapping

從 YAML 中的容器資源名稱對應到執行時間的 Docker 識別碼。

例如:

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

Agent.HomeDirectory 代理程式安裝到的目錄。 這包括代理程式軟體。 例如: c:\agent
Agent.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 工作等 工作會使用此目錄來保存暫存專案,例如測試結果發佈之前。

例如: /home/vsts/work/_temp 適用于 Ubuntu

Agent.ToolsDirectory 節點工具安裝程式 和使用 Python 版本 等 工作所使用的目錄,可在工具的多個版本之間切換。 這些工作會將工具從這個目錄新增至 , PATH 讓後續的建置步驟可以使用它們。

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

注意:此目錄不保證可由管線工作寫入(例如,對應至容器時)

組建變數 (DevOps Server 2022)


變數描述可在範本 中使用
Build.ArtifactStagingDirectory

將任何成品複製到其目的地之前,代理程式上的本機路徑。 例如:c:\agent_work\1\a

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

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

請參閱 Azure Pipelines 中的成品。

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

No
Build.BuildId 已完成組建之記錄的識別碼。 No
Build.BuildNumber 已完成組建的名稱,也稱為執行編號。 您可以指定 此值中包含的內容

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

注意:此值可以包含空白字元或其他不正確標籤字元。 在這些情況下,卷 標格式 會失敗。



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

No
Build.BuildUri 組建的 URI。 例如: vstfs:///Build/Build/1430

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

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

例如: c:\agent_work\1\b

此變數是代理程式範圍,而且可作為腳本中的環境變數和建置工作中的參數,但不能做為組建編號或版本控制標記的一部分。
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 您在來源存放庫設定 針對 [清除 ] 選取的值。

此變數是代理程式範圍,而且可作為腳本中的環境變數和建置工作中的參數,但不能做為組建編號或版本控制標記的一部分。
No
Build.Repository.LocalPath

下載原始程式碼檔案之代理程式的本機路徑。 例如:c:\agent_work\1\s

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

重要注意事項:如果您只簽出一個 Git 存放庫,此路徑就是程式碼的確切路徑。 如果您取出多個存放庫,行為如下所示(而且可能與 Build.SourcesDirectory 變數的值不同):

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

即使存放庫的名稱確實如此,這也不會變更。

此變數是代理程式範圍,而且可作為腳本中的環境變數和建置工作中的參數,但不能做為組建編號或版本控制標記的一部分。
No
Build.Repository.Name 觸發存放 的名稱。

此變數是代理程式範圍,而且可作為腳本中的環境變數和建置工作中的參數,但不能做為組建編號或版本控制標記的一部分。
No
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。 例如: 此變數是代理程式範圍,而且可作為腳本中的環境變數和建置工作中的參數,但不能做為組建編號或版本控制標記的一部分。 No
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/mainmain 。 在此值中 refs/heads/feature/toolstools 。 在此值中 refs/tags/your-tag-nameyour-tag-name
  • TFVC 存放庫分支:工作區根伺服器路徑中的最後一個路徑區段。 例如,在此值中 $/teamproject/mainmain
  • TFVC 存放庫閘道存回或擱置集組建是擱置集的名稱。 例如,Gated_2016-06-06_05.20.51.4369;username@live.commyshelveset;username@live.com
注意:在 TFVC 中,如果您正在執行封閉式簽入組建或手動建置擱置集,則無法在組建編號格式中使用此變數。
Yes
Build.SourcesDirectory

下載原始程式碼檔案之代理程式的本機路徑。 例如:c:\agent_work\1\s

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

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

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

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

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

此變數是代理程式範圍,而且可作為腳本中的環境變數和建置工作中的參數,但不能做為組建編號或版本控制標記的一部分。 此外,這個變數只能在步驟層級上使用,而且無法在作業或階段層級中使用(也就是說,在作業啟動和取出程式碼之前,不會擷取訊息)。

注意:TFS 2015.4 提供此變數。

注意

當啟用建置時 Batch 變更時 ,Build.SourceVersionMessage 變數不適用於 Bitbucket 存放庫中的傳統建 置管線。

No
Build.StagingDirectory

將任何成品複製到其目的地之前,代理程式上的本機路徑。 例如:c:\agent_work\1\a

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

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

請參閱 Azure Pipelines 中的成品。

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

No
Build.Repository.Git.SubmoduleCheckout 您已針對 [存放庫 ] 索引標籤上的 [簽出] 子模組 選取的值。取出多個存放庫後,此值會追蹤觸發存放庫的設定。

此變數是代理程式範圍,而且可作為腳本中的環境變數和建置工作中的參數,但不能做為組建編號或版本控制標記的一部分。
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

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

管線變數 (DevOps Server 2022)

變數描述
Pipeline.Workspace 特定管線的工作區目錄。 此變數的值與 Agent.BuildDirectory 相同。

例如: /home/vsts/work/1

提示

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

部署作業變數 (DevOps Server 2022)

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

變數描述
Environment.Name 部署作業中以執行部署步驟為目標的環境名稱,並記錄部署歷程記錄。 例如: smarthotel-dev
Environment.Id 部署作業中目標環境識別碼。 例如: 10
Environment.ResourceName 以部署作業為目標的環境內特定資源名稱,以執行部署步驟並記錄部署歷程記錄。 例如,這是 Kubernetes 命名空間, bookings 已新增為環境 smarthotel-dev 的資源。
Environment.ResourceId 以部署作業為目標之環境內特定資源的識別碼,以執行部署步驟。 例如: 4
Strategy.Name 部署策略的名稱: canaryrunOncerolling
Strategy.CycleName 部署中的目前迴圈名稱。 選項為 PreIterationIterationPostIteration

系統變數 (DevOps Server 2022)

變數描述可在範本 中使用
System.AccessToken 使用 OAuth 權杖來存取 REST API

從 YAML 腳本 使用 System.AccessToken。

此變數是代理程式範圍,而且可作為腳本中的環境變數和建置工作中的參數,但不能做為組建編號或版本控制標記的一部分。
Yes
System.CollectionId TFS 集合或 Azure DevOps 組織的 GUID。 Yes
System.CollectionUri TFS 集合或 Azure DevOps 組織的 URI。 例如: https://dev.azure.com/fabrikamfiber/ Yes
System.DefaultWorkingDirectory

下載原始程式碼檔案之代理程式的本機路徑。 例如:c:\agent_work\1\s

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

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

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 提取要求填入。 只有在 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 作為提取要求目標的分支。 例如: refs/heads/main 當您的存放庫位於 Azure Repos,以及 main 存放庫位於 GitHub 時。 只有當組建因為受到分支 原則影響的 Git PR 而執行 時,才會初始化此變數。 只有在 PR 受到分支原則影響時,YAML 管線才能使用此變數。 No
System.StageAttempt 第一次嘗試此階段時設定為 1,並在每次重試作業時遞增。 No
System.StageDisplayName 提供給階段的人類可讀取名稱。 No
System.StageName 階段的字串型識別碼,通常用於表示相依性及存取輸出變數。 No
System.TeamFoundationCollectionUri TFS 集合或 Azure DevOps 組織的 URI。 例如: https://dev.azure.com/fabrikamfiber/

此變數是代理程式範圍,而且可作為腳本中的環境變數和建置工作中的參數,但不能做為組建編號或版本控制標記的一部分。
Yes
System.TeamProject 包含此組建的專案名稱。 Yes
System.TeamProjectId 此組建所屬專案的識別碼。 Yes
System.TimelineId 單一管線執行之執行詳細資料和記錄的字串型識別碼。 No
TF_BUILD True如果腳本正由建置工作執行,則設定為 。

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

檢查變數 (DevOps Server 2022)

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

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

Add the stage attempt as a parameter.

代理程式變數 (DevOps Server 2020)

注意

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

變數描述
Agent.BuildDirectory

代理程式上的本機路徑,其中會建立指定組建管線的所有資料夾。 此變數的值與 Pipeline.Workspace 相同。

例如:/home/vsts/work/1

Agent.HomeDirectory 代理程式安裝到的目錄。 這包括代理程式軟體。 例如: c:\agent
Agent.Id 代理程式的識別碼。
Agent.JobName 執行中作業的名稱。 這通常是「作業」或「__default」,但在多重設定案例中,將會是組態。
Agent.JobStatus 組建的狀態。
  • Canceled
  • Failed
  • Succeeded
  • SucceededWithIssues (部分成功)

環境變數應參考為 AGENT_JOBSTATUS 。 較舊的 agent.jobstatus 版本可供回溯相容性使用。

Agent.MachineName 安裝代理程式的電腦名稱稱。
Agent.Name

向集區註冊的代理程式名稱。

如果您使用自我裝載代理程式,則此名稱會由您設定。 請參閱 代理程式

Agent.OS 代理程式主機的作業系統。 有效值為:
  • Windows_NT
  • 達爾文
  • 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 2020)


變數描述可在範本中使用?
Build.ArtifactStagingDirectory

將任何成品複製到其目的地之前,代理程式上的本機路徑。 例如:c:\agent_work\1\a

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

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

請參閱 Azure Pipelines 中的成品。

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

No
Build.BuildId 已完成組建之記錄的識別碼。 No
Build.BuildNumber 已完成組建的名稱,也稱為執行編號。 您可以指定 此值中包含的內容

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

注意:此值可以包含空白字元或其他不正確標籤字元。 在這些情況下,卷 標格式 會失敗。



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

No
Build.BuildUri 組建的 URI。 例如: vstfs:///Build/Build/1430

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

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

例如: c:\agent_work\1\b

此變數是代理程式範圍,而且可作為腳本中的環境變數和建置工作中的參數,但不能做為組建編號或版本控制標記的一部分。
No
Build.ContainerId 成品容器的識別碼。 當您在管線中上傳成品時,它會新增至該特定成品特定的容器。 No
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 您在來源存放庫設定 針對 [清除 ] 選取的值。

此變數是代理程式範圍,而且可作為腳本中的環境變數和建置工作中的參數,但不能做為組建編號或版本控制標記的一部分。
No
Build.Repository.LocalPath

下載原始程式碼檔案之代理程式的本機路徑。 例如:c:\agent_work\1\s

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

重要注意事項:如果您只簽出一個 Git 存放庫,此路徑將會是程式碼的確切路徑。 如果您取出多個存放庫,行為如下所示(而且可能與 Build.SourcesDirectory 變數的值不同):

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

即使存放庫的名稱確實如此,這也不會變更。

此變數是代理程式範圍,而且可作為腳本中的環境變數和建置工作中的參數,但不能做為組建編號或版本控制標記的一部分。
No
Build.Repository.Name 觸發存放 的名稱。

此變數是代理程式範圍,而且可作為腳本中的環境變數和建置工作中的參數,但不能做為組建編號或版本控制標記的一部分。
No
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。 例如: 此變數是代理程式範圍,而且可作為腳本中的環境變數和建置工作中的參數,但不能做為組建編號或版本控制標記的一部分。 No
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/mainmain 。 在此值中 refs/heads/feature/toolstools 。 在此值中 refs/tags/your-tag-nameyour-tag-name
  • TFVC 存放庫分支:工作區根伺服器路徑中的最後一個路徑區段。 例如,在此值中 $/teamproject/mainmain
  • TFVC 存放庫閘道存回或擱置集組建是擱置集的名稱。 例如,Gated_2016-06-06_05.20.51.4369;username@live.commyshelveset;username@live.com
注意:在 TFVC 中,如果您正在執行封閉式簽入組建或手動建置擱置集,則無法在組建編號格式中使用此變數。
Yes
Build.SourcesDirectory

下載原始程式碼檔案之代理程式的本機路徑。 例如:c:\agent_work\1\s

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

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

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

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

此變數是代理程式範圍,而且可作為腳本中的環境變數和建置工作中的參數,但不能做為組建編號或版本控制標記的一部分。 此外,此變數只能在步驟層級上使用,而且無法在作業或階段層級中使用(也就是說,在作業啟動並取出程式碼之前,不會擷取訊息)。

注意:TFS 2015.4 提供此變數。

注意

當啟用建置時 Batch 變更時 ,Build.SourceVersionMessage 變數不適用於 Bitbucket 存放庫中的傳統建 置管線。

No
Build.StagingDirectory

將任何成品複製到其目的地之前,代理程式上的本機路徑。 例如:c:\agent_work\1\a

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

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

請參閱 Azure Pipelines 中的成品。

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

No
Build.Repository.Git.SubmoduleCheckout 您已針對 [存放庫 ] 索引標籤上的 [簽出] 子模組 選取的值。取出多個存放庫後,此值會追蹤觸發存放庫的設定。

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


如果您正在執行 閘道組建 擱置集組建 ,這會設定為您要建置的 擱置集 名稱。

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

此變數是代理程式範圍,而且可作為腳本中的環境變數和建置工作中的參數,但不能做為組建編號或版本控制標記的一部分。
No
Build.TriggeredBy.DefinitionId 如果組建是由 另一個組建 觸發,則此變數會設定為觸發組建的 DefinitionID。 在傳統管線中,此變數是由組建完成觸發程式觸發。

此變數是代理程式範圍,而且可作為腳本中的環境變數和建置工作中的參數,但不能做為組建編號或版本控制標記的一部分。
No
Build.TriggeredBy.DefinitionName 如果組建是由 另一個組建 觸發,則此變數會設定為觸發建置管線的名稱。 在傳統管線中,此變數是由組建完成觸發程式觸發。

此變數是代理程式範圍,而且可作為腳本中的環境變數和建置工作中的參數,但不能做為組建編號或版本控制標記的一部分。
No
Build.TriggeredBy.BuildNumber 如果組建是由 另一個組建 觸發,則此變數會設定為觸發組建的數目。 在傳統管線中,此變數是由組建完成觸發程式觸發。

此變數是代理程式範圍,而且可作為腳本中的環境變數和建置工作中的參數,但不能做為組建編號或版本控制標記的一部分。
No
Build.TriggeredBy.ProjectID 如果組建是由 另一個組建 觸發,則此變數會設定為包含觸發組建的專案識別碼。 在傳統管線中,此變數是由組建完成觸發程式觸發。

此變數是代理程式範圍,而且可作為腳本中的環境變數和建置工作中的參數,但不能做為組建編號或版本控制標記的一部分。
No
Common.TestResultsDirectory 建立測試結果之代理程式的本機路徑。 例如:c:\agent_work\1\TestResults

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

管線變數 (DevOps Server 2020)

變數描述
Pipeline.Workspace 特定管線的工作區目錄。 此變數的值與 Agent.BuildDirectory 相同。

例如: /home/vsts/work/1

部署作業變數 (DevOps Server 2020)

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

變數描述
Environment.Name 部署作業中以執行部署步驟為目標的環境名稱,並記錄部署歷程記錄。 例如: smarthotel-dev
Environment.Id 部署作業中目標環境識別碼。 例如: 10
Environment.ResourceName 以部署作業為目標的環境內特定資源名稱,以執行部署步驟並記錄部署歷程記錄。 例如,這是 Kubernetes 命名空間, bookings 已新增為環境 smarthotel-dev 的資源。
Environment.ResourceId 以部署作業為目標之環境內特定資源的識別碼,以執行部署步驟。 例如: 4

系統變數 (DevOps Server 2020)

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

從 YAML 腳本 使用 System.AccessToken。

此變數是代理程式範圍,而且可作為腳本中的環境變數和建置工作中的參數,但不能做為組建編號或版本控制標記的一部分。
Yes
System.CollectionId TFS 集合或 Azure DevOps 組織的 GUID Yes
System.CollectionUri 字串 Team Foundation Server 集合 URI。 Yes
System.DefaultWorkingDirectory

下載原始程式碼檔案之代理程式的本機路徑。 例如:c:\agent_work\1\s

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

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

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

此變數是代理程式範圍,而且可作為腳本中的環境變數和建置工作中的參數,但不能做為組建編號或版本控制標記的一部分。
Yes
System.TeamProject 包含此組建的專案名稱。 Yes
System.TeamProjectId 此組建所屬專案的識別碼。 Yes
TF_BUILD True如果腳本正由建置工作執行,則設定為 。

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

代理程式變數 (DevOps Server 2019)

注意

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

變數描述
Agent.BuildDirectory

代理程式上的本機路徑,其中會建立指定組建管線的所有資料夾。

例如:c:\agent_work\1

Agent.HomeDirectory 代理程式安裝到的目錄。 這包括代理程式軟體。 例如: c:\agent
Agent.Id 代理程式的識別碼。
Agent.JobName 執行中作業的名稱。 這通常是「作業」或「__default」,但在多重設定案例中,將會是組態。
Agent.JobStatus 組建的狀態。
  • Canceled
  • Failed
  • Succeeded
  • SucceededWithIssues (部分成功)

環境變數應參考為 AGENT_JOBSTATUS 。 較舊的 agent.jobstatus 版本可供回溯相容性使用。

Agent.MachineName 安裝代理程式的電腦名稱稱。
Agent.Name

向集區註冊的代理程式名稱。

如果您使用自我裝載的代理程式,則此名稱會由您設定。 請參閱 代理程式

Agent.OS 代理程式主機的作業系統。 有效值為:
  • Windows_NT
  • 達爾文
  • 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 已完成組建之記錄的識別碼。
Build.BuildNumber 已完成組建的名稱。 您可以在管線選項 中指定產生此值的 組建編號格式。

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

注意:此值可以包含空白字元或其他不正確標籤字元。 在這些情況下,卷 標格式 會失敗。



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

Build.BuildUri 組建的 URI。 例如: vstfs:///Build/Build/1430

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

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

例如: c:\agent_work\1\b

此變數為代理程式範圍。 它可以當做腳本中的環境變數和建置工作中的參數使用,但不能做為組建編號的一部分或版本控制標記。
Build.DefinitionName 組建管線的名稱。

注意:此值可以包含空白字元或其他不正確標籤字元。 在這些情況下,卷 標格式 將會失敗。

Build.DefinitionVersion 組建管線的版本。
Build.QueuedBy 請參閱「 如何設定身分識別變數? 」。

注意:此值可以包含空白字元或其他不正確標籤字元。 在這些情況下,卷 標格式 會失敗。

Build.QueuedById 請參閱「 如何設定身分識別變數? 」。
Build.Reason 導致組建執行的事件。
  • Manual:使用者手動將組建排入佇列。
  • IndividualCI 由 Git 推送或 TFVC 簽入所觸發的持續整合 (CI )。
  • BatchedCI Git 推送或 TFVC 簽入所觸發的持續整合 (CI), 已選取 Batch 變更
  • 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 請參閱「 如何設定身分識別變數? 」。

注意:此值可以包含空白字元或其他不正確標籤字元。 在這些情況下,卷 標格式 會失敗。

Build.RequestedForEmail 請參閱「 如何設定身分識別變數? 」。
Build.RequestedForId 請參閱「 如何設定身分識別變數? 」。
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
當您以組建編號格式使用此變數時,正斜線字元 ( / ) 會取代為底線字元 _

注意:在 TFVC 中,如果您正在執行封閉式簽入組建或手動建置擱置集,則無法在組建編號格式中使用此變數。
Build.SourceBranchName 組建已排入佇列的分支名稱。
  • Git 存放庫分支、提取要求或標籤:ref 中的最後一個路徑區段。例如,在此值中 refs/heads/mainmain 。 在此值中 refs/heads/feature/toolstools 。 在此值中 refs/tags/your-tag-nameyour-tag-name
  • TFVC 存放庫分支:工作區根伺服器路徑中的最後一個路徑區段。 例如, $/teamproject/main 這個值是 main
  • TFVC 存放庫閘道存回或擱置集組建是擱置集的名稱。 例如,Gated_2016-06-06_05.20.51.4369;username@live.commyshelveset;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 如果組建是由 另一個組建 觸發,則此變數會設定為包含觸發組建的專案識別碼。

此變數為代理程式範圍。 它可以當做腳本中的環境變數和建置工作中的參數使用,但不能做為組建編號的一部分或版本控制標記。
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 組建管線的識別碼。
System.HostType build如果管線是組建,則設定為 。 針對發行,這些值適用于 deployment 部署群組作業和 release Agent 作業。
System.PullRequest.IsFork 如果提取要求來自存放庫的分支,此變數會設定為 True 。 否則,它會設定為 False
System.PullRequest.PullRequestId 造成此組建之提取要求的識別碼。 例如: 17 。 (只有當建置因為 而 執行時,才會初始化此變數受分支原則 影響的 Git PR。
System.PullRequest.PullRequestNumber 造成此組建的提取要求數目。 此變數會填入 GitHub 的提取要求,其具有不同的提取要求識別碼和提取要求號碼。
System.PullRequest.SourceBranch 正在提取要求中檢閱的分支。 例如: refs/heads/users/raisa/new-feature 。 (只有當建置因為 而 執行時,才會初始化此變數受分支原則 影響的 Git PR。
System.PullRequest.SourceCommitId 正在提取要求中檢閱的認可。 (只有當建置因為 而 執行時,才會初始化此變數受分支原則 影響的 Git PR。
System.PullRequest.SourceRepositoryURI 包含提取要求的存放庫 URL。 例如: https://dev.azure.com/ouraccount/_git/OurProject 。 (只有當建置因為 而 執行時,才會初始化此變數受分支原則 影響的 Azure Repos Git PR。它不會針對 GitHub PR 初始化。
System.PullRequest.TargetBranch 作為提取要求目標的分支。 例如: refs/heads/main 。 只有當組建因為受到分支 原則影響的 Git PR 而執行 時,才會初始化此變數。
System.TeamFoundationCollectionUri Team Foundation 集合的 URI。 例如: https://dev.azure.com/fabrikamfiber/

此變數為代理程式範圍。 它可以當做腳本中的環境變數和建置工作中的參數使用,但不能做為組建編號的一部分或版本控制標記。
System.TeamProject 包含此組建的專案名稱。
System.TeamProjectId 此組建所屬專案的識別碼。
TF_BUILD True如果腳本正由建置工作執行,則設定為 。

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

代理程式變數 (TFS 2018)

注意

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

變數描述
Agent.BuildDirectory

代理程式上的本機路徑,其中會建立指定組建管線的所有資料夾。

例如:c:\agent_work\1

Agent.HomeDirectory 代理程式安裝到的目錄。 這包括代理程式軟體。 例如: c:\agent
Agent.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 已完成組建之記錄的識別碼。
Build.BuildNumber 已完成組建的名稱。 您可以在管線選項 中指定產生此值的 組建編號格式。

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

注意:此值可以包含空白字元或其他不正確標籤字元。 在這些情況下,卷 標格式 會失敗。



此變數為代理程式範圍。 它可以當做腳本中的環境變數和建置工作中的參數使用,但不能做為版本控制標記。

Build.BuildUri 組建的 URI。 例如: vstfs:///Build/Build/1430

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

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

例如: c:\agent_work\1\b

此變數為代理程式範圍。 它可以當做腳本中的環境變數和建置工作中的參數使用,但不能做為組建編號的一部分或版本控制標記。
Build.DefinitionName 組建管線的名稱。

注意:此值可以包含空白字元或其他不正確標籤字元。 在這些情況下,卷 標格式 會失敗。

Build.DefinitionVersion 組建管線的版本。
Build.QueuedBy 請參閱「 如何設定身分識別變數? 」。

注意:此值可以包含空白字元或其他不正確標籤字元。 在這些情況下,卷 標格式 會失敗。

Build.QueuedById 請參閱「 如何設定身分識別變數? 」。
Build.Reason 導致組建執行的事件。
  • Manual:使用者從 UI 或 API 呼叫手動將組建排入佇列。
  • IndividualCI 由 Git 推送或 TFVC 簽入所觸發的持續整合 (CI )。
  • BatchedCI Git 推送或 TFVC 簽入所觸發的持續整合 (CI), 已選取 Batch 變更
  • 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 請參閱「 如何設定身分識別變數? 」。

注意:此值可以包含空白字元或其他不正確標籤字元。 在這些情況下,卷 標格式 將會失敗。

Build.RequestedForEmail 請參閱「 如何設定身分識別變數? 」。
Build.RequestedForId 請參閱「 如何設定身分識別變數? 」。
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
當您以組建編號格式使用此變數時,正斜線字元 ( / ) 會取代為底線字元 _

注意:在 TFVC 中,如果您正在執行封閉式簽入組建或手動建置擱置集,則無法在組建編號格式中使用此變數。
Build.SourceBranchName 組建已排入佇列的分支名稱。
  • Git 存放庫分支、提取要求或標籤:ref 中的最後一個路徑區段。例如,在此值中 refs/heads/mainmain 。 在此值中 refs/heads/feature/toolstools
  • TFVC 存放庫分支:工作區根伺服器路徑中的最後一個路徑區段。 例如, $/teamproject/main 這個值是 main 。 在此值中 refs/tags/your-tag-nameyour-tag-name
  • TFVC 存放庫閘道存回或擱置集組建是擱置集的名稱。 例如,Gated_2016-06-06_05.20.51.4369;username@live.commyshelveset;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 版本控制。

如果您正在執行 封閉式組建 擱置集組建 ,這會設定為您正在建置的 擱置集 名稱。

注意:此變數會產生值,該值對組建編號格式的組建使用無效。
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 組建管線的識別碼。
System.HostType build如果管線是組建,或 release 管線是發行,則設定為 。
System.PullRequest.IsFork 如果提取要求來自存放庫的分支,此變數會設定為 True 。 否則,它會設定為 False適用于 TFS 2018.2
System.PullRequest.PullRequestId 造成此組建之提取要求的識別碼。 例如: 17 。 (只有當建置因為 而 執行時,才會初始化此變數受分支原則 影響的 Git PR。
System.PullRequest.SourceBranch 正在提取要求中檢閱的分支。 例如: refs/heads/users/raisa/new-feature 。 (只有當建置因為 而 執行時,才會初始化此變數受分支原則 影響的 Git PR。
System.PullRequest.SourceCommitId 正在提取要求中檢閱的認可。 (只有當建置因為 而 執行時,才會初始化此變數受分支原則 影響的 Git PR。
System.PullRequest.SourceRepositoryURI 包含提取要求的存放庫 URL。 例如: http://our-server:8080/tfs/DefaultCollection/_git/OurProject 。 (只有當建置因為 而 執行時,才會初始化此變數受分支原則 影響的 Azure Repos Git PR。
System.PullRequest.TargetBranch 作為提取要求目標的分支。 例如: refs/heads/main 。 只有當組建因為受到分支 原則影響的 Git PR 而執行 時,才會初始化此變數。
System.TeamFoundationCollectionUri Team Foundation 集合的 URI。 例如: http://our-server:8080/tfs/DefaultCollection/

此變數為代理程式範圍。 它可以當做腳本中的環境變數和建置工作中的參數使用,但不能做為組建編號的一部分或版本控制標記。
System.TeamProject 包含此組建的專案名稱。
System.TeamProjectId 此組建所屬專案的識別碼。
TF_BUILD True如果腳本正由建置工作執行,則設定為 。

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

如何設定身分識別變數?

此值取決於造成建置的原因,以及 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
因為您按一下 [ 佇列建置] 按鈕