Utilizar variáveis predefinidas

Serviços de DevOps do Azure | Azure DevOps Server 2022 - Azure DevOps Server 2019

As variáveis fornecem-lhe uma forma conveniente de obter os bits chave de dados em várias partes do seu pipeline. Esta é uma lista de variáveis predefinidas que estão disponíveis para utilização. Pode haver algumas outras variáveis predefinidas, mas elas são principalmente para uso interno.

Essas variáveis são definidas automaticamente pelo sistema e somente leitura. (As exceções são Build.Clean e System.Debug.)

Em pipelines YAML, você pode fazer referência a variáveis predefinidas como variáveis de ambiente. Por exemplo, a variável Build.ArtifactStagingDirectory torna-se a variável BUILD_ARTIFACTSTAGINGDIRECTORY.

Para pipelines clássicos, você pode usar variáveis de liberação em suas tarefas de implantação para compartilhar as informações comuns (por exemplo, Nome do ambiente, Grupo de recursos, etc.).

Saiba mais sobre como trabalhar com variáveis.

Build.Clean

Esta é uma variável preterida que modifica como o agente de compilação limpa a origem. Para saber como limpar a fonte, consulte Limpar o repositório local no agente.

System.AccessToken

System.AccessToken é uma variável especial que carrega o token de segurança usado pela compilação em execução.

No YAML, você deve mapear System.AccessToken explicitamente para o pipeline usando uma variável. Você pode fazer isso no nível da etapa ou da tarefa:

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)

Você pode configurar o escopo padrão para System.AccessToken usar o escopo de autorização de trabalho de compilação.

System.Debug

Para obter logs mais detalhados para depurar problemas de pipeline, defina-o System.Debug e defina-o como true.

  1. Edite seu pipeline.

  2. Selecione Variáveis.

  3. Adicione uma nova variável com o nome System.Debug e o valor true.

    Definir a depuração do sistema como true

  4. Salve a nova variável.

Configuração System.Debug para true configurar logs detalhados para todas as execuções. Você também pode configurar logs detalhados para uma única execução com a caixa de seleção Habilitar diagnóstico do sistema.

Você também pode definir System.Debug como true uma variável em um pipeline ou modelo.

variables:
  system.debug: 'true'

Quando System.Debug é definido como true, uma variável extra nomeada Agent.Diagnostic é definida como true. Quando Agent.Diagnostic é true, o agente coleta mais logs que podem ser usados para solucionar problemas de rede para agentes auto-hospedados. Para obter mais informações, veja Diagnósticos de rede de agentes autoalojados.

Nota

A Agent.Diagnostic variável está disponível com o Agent v2.200.0 e superior.

Para obter mais informações, consulte Revisar logs para diagnosticar problemas de pipeline.

Variáveis do agente (Serviços de DevOps)

Nota

Você pode usar variáveis de agente como variáveis de ambiente em seus scripts e como parâmetros em suas tarefas de compilação. Não é possível usá-los para personalizar o número de compilação ou para aplicar um rótulo ou tag de controle de versão.

Variável Description
Agent.BuildDirectory O caminho local no agente onde todas as pastas para um determinado pipeline de compilação são criadas. Esta variável tem o mesmo valor que Pipeline.Workspace. Por exemplo: /home/vsts/work/1.
Agent.ContainerMapping Um mapeamento de nomes de recursos de contêiner no YAML para seus IDs do Docker em tempo de execução.

Exemplo segue tabela.
Agent.HomeDirectory O diretório no qual o agente está instalado. Isso contém o software do agente. Por exemplo: c:\agent.
Agent.Id O ID do agente.
Agent.JobName O nome do trabalho em execução. Este será geralmente "Job"; ou "__default", mas em cenários multi-configuração, será a configuração.
Agent.JobStatus O status da compilação.
  • Canceled
  • Failed
  • Succeeded
  • SucceededWithIssues (parcialmente bem-sucedido)
A variável de ambiente deve ser referenciada como AGENT_JOBSTATUS. O mais antigo agent.jobstatus está disponível para compatibilidade com versões anteriores.
Agent.MachineName O nome da máquina na qual o agente está instalado.
Agent.Name O nome do agente registrado no pool.

Se você estiver usando um agente auto-hospedado, esse nome será especificado por você. Veja agentes.
Agent.OS O sistema operacional do host do agente. Os valores válidos são:
  • Windows_NT
  • Darwin
  • Linux
Se você estiver executando em um contêiner, o host do agente e o contêiner podem estar executando sistemas operacionais diferentes.
Agent.OSArchitecture A arquitetura do processador do sistema operacional do host do agente. Os valores válidos são:
  • X86
  • X64
  • ARM
Agent.TempDirectory Uma pasta temporária que é limpa após cada trabalho de pipeline. Esse diretório é usado por tarefas como a tarefa .NET Core CLI para armazenar itens temporários, como resultados de teste, antes de serem publicados.

Por exemplo: /home/vsts/work/_temp para o Ubuntu.
Agent.ToolsDirectory O diretório usado por tarefas como Node Tool Installer e Use Python Version para alternar entre várias versões de uma ferramenta.

Essas tarefas adicionam ferramentas desse diretório para PATH que as etapas de compilação subsequentes possam usá-las.

Saiba mais sobre como gerenciar esse diretório em um agente auto-hospedado.
Agent.WorkFolder O diretório de trabalho para este agente.

Por exemplo: c:\agent_work.

Nota: Não é garantido que este diretório seja gravável por tarefas de pipeline (por exemplo, quando mapeado em um contêiner)

Exemplo de Agent.ContainerMapping:

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

Variáveis de compilação (Serviços de DevOps)

Variável Description Disponível em modelos?
Build.ArtifactStagingDirectory O caminho local no agente para o qual todos os artefatos são copiados antes de serem enviados para o destino. Por exemplo: c:\agent_work\1\a.

Uma maneira típica de usar essa pasta é publicar seus artefatos de compilação com as tarefas Copiar arquivos e Publicar artefatos de compilação .

Nota: Build.ArtifactStagingDirectory e Build.StagingDirectory são intercambiáveis. Esse diretório é limpo antes de cada nova compilação, para que você não precise limpá-lo sozinho.

Consulte Artefatos no Azure Pipelines.

Essa variável tem escopo de agente e pode ser usada como uma variável de ambiente em um script e como um parâmetro em uma tarefa de compilação, mas não como parte do número de compilação ou como uma marca de controle de versão.
Não
Build.BuildId A ID do registro para a compilação concluída. Não
Build.BuildNumber O nome da compilação concluída, também conhecido como o número de execução. Você pode especificar o que está incluído nesse valor.

Um uso típico dessa variável é torná-la parte do formato de rótulo, que você especifica na guia repositório.

Nota: Este valor pode conter espaço em branco ou outros caracteres de rótulo inválidos. Nesses casos, o formato do rótulo falha.

Essa variável tem escopo de agente e pode ser usada como uma variável de ambiente em um script e como um parâmetro em uma tarefa de compilação, mas não como parte do número de compilação ou como uma marca de controle de versão.
Não
Build.BuildUri O URI para a compilação. Por exemplo: vstfs:///Build/Build/1430.

Essa variável tem escopo de agente e pode ser usada como uma variável de ambiente em um script e como um parâmetro em uma tarefa de compilação, mas não como parte do número de compilação ou como uma marca de controle de versão.
Não
Build.BinariesDirectory O caminho local no agente que você pode usar como uma pasta de saída para binários compilados.

Por padrão, novos pipelines de compilação não são configurados para limpar esse diretório. Você pode definir sua compilação para limpá-la na guia Repositório.

Por exemplo: c:\agent_work\1\b.

Essa variável tem escopo de agente e pode ser usada como uma variável de ambiente em um script e como um parâmetro em uma tarefa de compilação, mas não como parte do número de compilação ou como uma marca de controle de versão.
Não
Build.ContainerId A ID do contêiner para seu artefato. Quando você carrega um artefato em seu pipeline, ele é adicionado a um contêiner específico para esse artefato específico. Não
Build.CronSchedule.DisplayName O displayName da programação cron que acionou a execução do pipeline. Essa variável só será definida se a execução do pipeline for acionada por um gatilho agendado YAML. Para obter mais informações, consulte definição schedules.cron - variável Build.CronSchedule.DisplayName Sim
Build.DefinitionName O nome do pipeline de compilação.

Nota: Este valor pode conter espaço em branco ou outros caracteres de rótulo inválidos. Nesses casos, o formato do rótulo falha.
Sim
Build.DefinitionVersion A versão do pipeline de compilação. Sim
Build.QueuedBy Consulte "Como são definidas as variáveis de identidade?".

Nota: Este valor pode conter espaço em branco ou outros caracteres de rótulo inválidos. Nesses casos, o formato do rótulo falha.
Sim
Build.QueuedById Consulte "Como são definidas as variáveis de identidade?". Sim
Build.Reason O evento que fez com que a compilação fosse executada.
  • Manual: Um usuário enfileirou manualmente a compilação.
  • IndividualCI: Integração contínua (CI) desencadeada por um push Git ou um check-in TFVC.
  • BatchedCI: Integração contínua (CI) acionada por um push Git ou um check-in TFVC, e as alterações em lote foram selecionadas.
  • Schedule: Gatilho agendado .
  • ValidateShelveset: Um usuário enfileirou manualmente a compilação de um conjunto de prateleiras TFVC específico.
  • CheckInShelveset: Gatilho de check-in fechado.
  • PullRequest: A compilação foi acionada por uma política de ramificação do Git que requer uma compilação.
  • BuildCompletion: A compilação foi acionada por outra compilação
  • ResourceTrigger: A compilação foi acionada por um gatilho de recurso ou foi acionada por outra compilação.
Consulte Criar gatilhos de pipeline, Melhorar a qualidade do código com políticas de filial.
Sim
Build.Repository.Clean O valor selecionado para Limpar nas configurações do repositório de origem.

Essa variável tem escopo de agente e pode ser usada como uma variável de ambiente em um script e como um parâmetro em uma tarefa de compilação, mas não como parte do número de compilação ou como uma marca de controle de versão.
Não
Build.Repository.LocalPath O caminho local no agente onde seus arquivos de código-fonte são baixados. Por exemplo: c:\agent_work\1\s.

Por padrão, os novos pipelines de compilação atualizam apenas os arquivos alterados. Você pode modificar como os arquivos são baixados na guia Repositório.

Observação importante: Se você fizer check-out de apenas um repositório Git, esse caminho será o caminho exato para o código.

Se você fizer check-out de vários repositórios, o comportamento será o seguinte (e pode diferir do valor da variável Build.SourcesDirectory):
  • Se a etapa de check-out para o repositório self (primário) não tiver um caminho de check-out personalizado definido, ou se o caminho de check-out for o caminho $(Pipeline.Workspace)/s/&<RepoName> padrão de multi-checkout para o repositório self, o valor dessa variável será revertido para seu valor padrão, que é $(Pipeline.Workspace)/s.
  • Se a etapa de check-out para o repositório self (primário) tiver um caminho de check-out personalizado definido (e não for seu caminho padrão de multi-checkout), essa variável conterá o caminho exato para o repositório self.
Essa variável tem escopo de agente e pode ser usada como uma variável de ambiente em um script e como um parâmetro em uma tarefa de compilação, mas não como parte do número de compilação ou como uma marca de controle de versão.
Não
Build.Repository.ID O identificador exclusivo do repositório.

Isso não será alterado, mesmo que o nome do repositório mude.

Essa variável tem escopo de agente e pode ser usada como uma variável de ambiente em um script e como um parâmetro em uma tarefa de compilação, mas não como parte do número de compilação ou como uma marca de controle de versão.
Não
Build.Repository.Name O nome do repositório de acionamento.

Essa variável tem escopo de agente e pode ser usada como uma variável de ambiente em um script e como um parâmetro em uma tarefa de compilação, mas não como parte do número de compilação ou como uma marca de controle de versão.
Não
Build.Repository.Provider O tipo de repositório de acionamento.
Essa variável tem escopo de agente e pode ser usada como uma variável de ambiente em um script e como um parâmetro em uma tarefa de compilação, mas não como parte do número de compilação ou como uma marca de controle de versão.
Não
Build.Repository.Tfvc.Workspace Definido se seu repositório é Team Foundation Version Control. O nome do espaço de trabalho TFVC usado pelo agente de compilação.

Por exemplo, se o Agent.BuildDirectory for c:\agent_work\12 e o Agent.Id for 8, o nome do espaço de trabalho poderá ser: ws_12_8

Essa variável tem escopo de agente e pode ser usada como uma variável de ambiente em um script e como um parâmetro em uma tarefa de compilação, mas não como parte do número de compilação ou como uma marca de controle de versão.
Não
Build.Repository.Uri A URL do repositório de acionamento. Por exemplo:
Essa variável tem escopo de agente e pode ser usada como uma variável de ambiente em um script e como um parâmetro em uma tarefa de compilação, mas não como parte do número de compilação ou como uma marca de controle de versão.
Não
Build.RequestedFor Consulte "Como são definidas as variáveis de identidade?".

Nota: Este valor pode conter espaço em branco ou outros caracteres de rótulo inválidos. Nesses casos, o formato do rótulo falha.
Sim
Build.RequestedForEmail Consulte "Como são definidas as variáveis de identidade?". Sim
Build.RequestedForId Consulte "Como são definidas as variáveis de identidade?". Sim
Build.SourceBranch A ramificação do repositório de acionamento para o qual a compilação foi enfileirada. Alguns exemplos:
  • Ramo Git repo: refs/heads/main
  • Solicitação de pull de repositório Git: refs/pull/1/merge
  • Ramo de recompra TFVC: $/teamproject/main
  • TFVC repo check-in fechado: Gated_2016-06-06_05.20.51.4369;username@live.com
  • TFVC repo shelveset construir: myshelveset;username@live.com
  • Quando o pipeline é acionado por uma tag: refs/tags/your-tag-name
Quando você usa essa variável no formato de número de compilação, os caracteres de barra (/) são substituídos por caracteres _de sublinhado ).

Nota: No TFVC, se você estiver executando uma compilação de check-in fechado ou construindo manualmente um conjunto de prateleiras, não poderá usar essa variável no formato de número de compilação.
Sim
Build.SourceBranchName O nome da ramificação no repositório de acionamento para o qual a compilação foi enfileirada.
  • Git repo branch, pull request, or tag: O último segmento de caminho na ref. Por exemplo, neste refs/heads/main valor é main. Neste refs/heads/feature/tools valor é tools. Neste refs/tags/your-tag-name valor é your-tag-name.
  • Ramificação de repositório TFVC: O último segmento de caminho no caminho do servidor raiz para o espaço de trabalho. Por exemplo, neste $/teamproject/main valor é main.
  • TFVC repo gated check-in ou shelveset build é o nome do shelveset. Por exemplo, Gated_2016-06-06_05.20.51.4369;username@live.com ou myshelveset;username@live.com.
Nota: No TFVC, se você estiver executando uma compilação de check-in fechado ou construindo manualmente um conjunto de prateleiras, não poderá usar essa variável no formato de número de compilação.
Sim
Build.SourcesDirectory O caminho local no agente onde seus arquivos de código-fonte são baixados. Por exemplo: c:\agent_work\1\s.

Por padrão, os novos pipelines de compilação atualizam apenas os arquivos alterados.

Observação importante: Se você fizer check-out de apenas um repositório Git, esse caminho será o caminho exato para o código. Se você fizer check-out de vários repositórios, ele será revertido para seu valor padrão, que é $(Pipeline.Workspace)/s, mesmo que o repositório self (primário) faça check-out para um caminho personalizado diferente de seu caminho $(Pipeline.Workspace)/s/<RepoName> padrão de multi-checkout (nesse aspeto, a variável difere do comportamento da variável Build.Repository.LocalPath).

Essa variável tem escopo de agente e pode ser usada como uma variável de ambiente em um script e como um parâmetro em uma tarefa de compilação, mas não como parte do número de compilação ou como uma marca de controle de versão.
Não
Build.SourceVersion A última alteração de controle de versão do repositório de acionamento incluído nesta compilação.
Essa variável tem escopo de agente e pode ser usada como uma variável de ambiente em um script e como um parâmetro em uma tarefa de compilação, mas não como parte do número de compilação ou como uma marca de controle de versão.
Sim
Build.SourceVersionMessage O comentário do commit ou changeset para o repositório de acionamento. Truncamos a mensagem para a primeira linha ou 200 caracteres, o que for mais curto.

O Build.SourceVersionMessage corresponde à mensagem sobre Build.SourceVersion commit. A Build.SourceVersion confirmação para uma compilação PR é a confirmação de mesclagem (não a confirmação na ramificação de origem).

Essa variável tem escopo de agente e pode ser usada como uma variável de ambiente em um script e como um parâmetro em uma tarefa de compilação, mas não como parte do número de compilação ou como uma marca de controle de versão.

Além disso, essa variável só está disponível no nível de etapa e não está disponível nos níveis de trabalho ou estágio (ou seja, a mensagem não é extraída até que o trabalho seja iniciado e o código seja verificado).

Nota: Esta variável está disponível no TFS 2015.4.

Nota: A variável Build.SourceVersionMessage não funciona com pipelines de compilação clássicos em repositórios Bitbucket quando Batch muda enquanto uma compilação está em andamento está habilitada.
Não
Build.StagingDirectory O caminho local no agente para o qual todos os artefatos são copiados antes de serem enviados para o destino. Por exemplo: c:\agent_work\1\a.

Uma maneira típica de usar essa pasta é publicar seus artefatos de compilação com as tarefas Copiar arquivos e Publicar artefatos de compilação .

Nota: Build.ArtifactStagingDirectory e Build.StagingDirectory são intercambiáveis. Esse diretório é limpo antes de cada nova compilação, para que você não precise limpá-lo sozinho.

Consulte Artefatos no Azure Pipelines.

Essa variável tem escopo de agente e pode ser usada como uma variável de ambiente em um script e como um parâmetro em uma tarefa de compilação, mas não como parte do número de compilação ou como uma marca de controle de versão.
Não
Build.Repository.Git.SubmoduleCheckout O valor selecionado para os submódulos Checkout na guia repositório. Com vários repositórios com check-out, esse valor rastreia a configuração do repositório de acionamento.

Essa variável tem escopo de agente e pode ser usada como uma variável de ambiente em um script e como um parâmetro em uma tarefa de compilação, mas não como parte do número de compilação ou como uma marca de controle de versão.
Não
Build.SourceTfvcShelveset Definido se seu repositório é Team Foundation Version Control.

Se você estiver executando uma compilação fechada ou uma compilação de prateleira, isso será definido com o nome do conjunto de prateleiras que você está construindo.

Nota: Essa variável produz um valor que é inválido para uso de compilação em um formato de número de compilação.
Não
Build.TriggeredBy.BuildId Se a compilação foi acionada por outra compilação, essa variável é definida como BuildID da compilação de acionamento. Em pipelines clássicos, essa variável é acionada por um gatilho de conclusão de compilação.

Essa variável tem escopo de agente e pode ser usada como uma variável de ambiente em um script e como um parâmetro em uma tarefa de compilação, mas não como parte do número de compilação ou como uma marca de controle de versão.

Se você estiver acionando um pipeline YAML usando resourceso , deverá usar as variáveis de recursos.
Não
Build.TriggeredBy.DefinitionId Se a compilação foi acionada por outra compilação, essa variável é definida como DefinitionID da compilação de acionamento. Em pipelines clássicos, essa variável é acionada por um gatilho de conclusão de compilação.

Essa variável tem escopo de agente e pode ser usada como uma variável de ambiente em um script e como um parâmetro em uma tarefa de compilação, mas não como parte do número de compilação ou como uma marca de controle de versão.

Se você estiver acionando um pipeline YAML usando resourceso , deverá usar as variáveis de recursos.
Não
Build.TriggeredBy.DefinitionName Se a compilação foi acionada por outra compilação, essa variável é definida como o nome do pipeline de compilação de acionamento. Em pipelines clássicos, essa variável é acionada por um gatilho de conclusão de compilação.

Essa variável tem escopo de agente e pode ser usada como uma variável de ambiente em um script e como um parâmetro em uma tarefa de compilação, mas não como parte do número de compilação ou como uma marca de controle de versão.

Se você estiver acionando um pipeline YAML usando resourceso , deverá usar as variáveis de recursos.
Não
Build.TriggeredBy.BuildNumber Se a compilação foi acionada por outra compilação, essa variável é definida como o número da compilação de acionamento. Em pipelines clássicos, essa variável é acionada por um gatilho de conclusão de compilação.

Essa variável tem escopo de agente e pode ser usada como uma variável de ambiente em um script e como um parâmetro em uma tarefa de compilação, mas não como parte do número de compilação ou como uma marca de controle de versão.

Se você estiver acionando um pipeline YAML usando resourceso , deverá usar as variáveis de recursos.
Não
Build.TriggeredBy.ProjectID Se a compilação foi acionada por outra compilação, essa variável é definida como ID do projeto que contém a compilação de acionamento. Em pipelines clássicos, essa variável é acionada por um gatilho de conclusão de compilação.

Essa variável tem escopo de agente e pode ser usada como uma variável de ambiente em um script e como um parâmetro em uma tarefa de compilação, mas não como parte do número de compilação ou como uma marca de controle de versão.

Se você estiver acionando um pipeline YAML usando resourceso , deverá usar as variáveis de recursos.
Não
Common.TestResultsDirectory O caminho local no agente onde os resultados do teste são criados. Por exemplo: c:\agent_work\1\TestResults.

Essa variável tem escopo de agente e pode ser usada como uma variável de ambiente em um script e como um parâmetro em uma tarefa de compilação, mas não como parte do número de compilação ou como uma marca de controle de versão.
Não

Variáveis de pipeline (DevOps Services)

Variável Description
Pipeline.Workspace Diretório de espaço de trabalho para um pipeline específico. Esta variável tem o mesmo valor que Agent.BuildDirectory. Por exemplo, /home/vsts/work/1.

Gorjeta

Se você estiver usando pipelines de liberação clássicos, poderá usar versões clássicas e variáveis de artefatos para armazenar e acessar dados em todo o pipeline.

Variáveis de trabalho de implantação (Serviços de DevOps)

Essas variáveis têm como escopo um trabalho de Implantação específico e serão resolvidas somente no momento da execução do trabalho.

Variável Description
Environment.Name Nome do ambiente de destino no trabalho de implantação para executar as etapas de implantação e registrar o histórico de implantação. Por exemplo, smarthotel-dev.
Environment.Id ID do ambiente de destino no trabalho de implantação. Por exemplo, 10.
Environment.ResourceName Nome do recurso específico dentro do ambiente de destino no trabalho de implantação para executar as etapas de implantação e registrar o histórico de implantação. Por exemplo, bookings que é um namespace do Kubernetes que foi adicionado como um recurso ao ambiente smarthotel-dev.
Environment.ResourceId ID do recurso específico dentro do ambiente de destino no trabalho de implantação para executar as etapas de implantação. Por exemplo, 4.
Strategy.Name O nome da estratégia de implantação: canary, runOnce, ou rolling.
Strategy.CycleName O nome do ciclo atual em uma implantação. As opções são PreIteration, Iterationou PostIteration.

Variáveis de sistema (DevOps Services)

Variável Description Disponível em modelos?
System.AccessToken Use o token OAuth para acessar a API REST.

Use System.AccessToken de scripts YAML.

Essa variável tem escopo de agente e pode ser usada como uma variável de ambiente em um script e como um parâmetro em uma tarefa de compilação, mas não como parte do número de compilação ou como uma marca de controle de versão.
Sim
System.CollectionId O GUID da coleção TFS ou da organização do Azure DevOps. Sim
System.CollectionUri O URI da coleção TFS ou da organização do Azure DevOps. Por exemplo: https://dev.azure.com/fabrikamfiber/. Sim
System.DefaultWorkingDirectory O caminho local no agente onde seus arquivos de código-fonte são baixados. Por exemplo: c:\agent_work\1\s

Por padrão, os novos pipelines de compilação atualizam apenas os arquivos alterados. Você pode modificar como os arquivos são baixados na guia Repositório.

Essa variável tem escopo de agente. Ele pode ser usado como uma variável de ambiente em um script e como um parâmetro em uma tarefa de compilação, mas não como parte do número de compilação ou como uma tag de controle de versão.
Sim
System.DefinitionId A ID do pipeline de compilação. Sim
System.HostType Defina como build se o pipeline for uma compilação. Para uma versão, os valores são deployment para um trabalho de grupo de Implantação, gates durante a avaliação de portões, e release para outros trabalhos (Agent e Agentless). Sim
System.JobAttempt Defina como 1 na primeira vez que este trabalho é tentado e aumenta sempre que o trabalho é repetido. Não
System.JobDisplayName O nome legível por humanos dado a um trabalho. Não
System.JobId Um identificador exclusivo para uma única tentativa de um único trabalho. O valor é exclusivo para o pipeline atual. Não
System.JobName O nome do trabalho, normalmente usado para expressar dependências e acessar variáveis de saída. Não
System.PhaseAttempt Defina como 1 na primeira vez que esta fase é tentada e aumenta sempre que o trabalho é repetido.

Nota: "Fase" é um conceito principalmente redundante, que representa o tempo de design para um trabalho (enquanto o trabalho era a versão de tempo de execução de uma fase). Removemos principalmente o conceito de "fase" do Azure Pipelines. Os trabalhos matriciais e multi-config são o único lugar onde "fase" ainda é distinta de "trabalho". Uma fase pode instanciar vários trabalhos, que diferem apenas em suas entradas.
Não
System.PhaseDisplayName O nome legível por humanos dado a uma fase. Não
System.PhaseName Um identificador baseado em cadeia de caracteres para um trabalho, normalmente usado para expressar dependências e acessar variáveis de saída. Não
System.PlanId Um identificador baseado em cadeia de caracteres para uma única execução de pipeline. Não
System.PullRequest.IsFork Se a solicitação pull for de uma bifurcação do repositório, essa variável será definida como True.

Caso contrário, é definido como False.
Sim
System.PullRequest.PullRequestId A ID da solicitação pull que causou essa compilação. Por exemplo: 17. (Esta variável é inicializada somente se a compilação foi executada devido a um Git PR afetado por uma política de filial). Não
System.PullRequest.PullRequestNumber O número da solicitação pull que causou essa compilação. Essa variável é preenchida para solicitações pull do GitHub que têm um ID de solicitação pull e um número de solicitação pull diferentes. Essa variável só estará disponível em um pipeline YAML se a RP for afetada por uma política de ramificação. Não
System.PullRequest.targetBranchName O nome da ramificação de destino para uma solicitação pull. Essa variável pode ser usada em um pipeline para executar condicionalmente tarefas ou etapas com base na ramificação de destino da solicitação pull. Por exemplo, talvez você queira acionar um conjunto diferente de testes ou ferramentas de análise de código, dependendo da ramificação na qual as alterações estão sendo mescladas. Não
System.PullRequest.SourceBranch A ramificação que está sendo revisada em uma solicitação pull. Por exemplo: refs/heads/users/raisa/new-feature para Azure Repos. (Esta variável é inicializada somente se a compilação foi executada devido a um Git PR afetado por uma política de filial). Essa variável só estará disponível em um pipeline YAML se a RP for afetada por uma política de ramificação. Não
System.PullRequest.SourceCommitId A confirmação que está sendo revisada em uma solicitação pull. (Esta variável é inicializada somente se a compilação foi executada devido a um Git PR afetado por uma política de filial). Essa variável só estará disponível em um pipeline YAML se a RP for afetada por uma política de ramificação.
System.PullRequest.SourceRepositoryURI A URL para o repositório que contém a solicitação pull. Por exemplo: https://dev.azure.com/ouraccount/_git/OurProject. Não
System.PullRequest.TargetBranch A ramificação que é o destino de uma solicitação pull. Por exemplo: refs/heads/main quando seu repositório está no Azure Repos e main quando seu repositório está no GitHub. Essa variável será inicializada somente se a compilação for executada devido a um Git PR afetado por uma política de ramificação. Essa variável só estará disponível em um pipeline YAML se a RP for afetada por uma política de ramificação. Não
System.StageAttempt Defina como 1 na primeira vez que este estágio é tentado e aumenta sempre que o trabalho é repetido. Não
System.StageDisplayName O nome legível por humanos dado a um palco. Não
System.StageName Um identificador baseado em cadeia de caracteres para um estágio, normalmente usado para expressar dependências e acessar variáveis de saída. Não
System.TeamFoundationCollectionUri O URI da coleção TFS ou da organização do Azure DevOps. Por exemplo: https://dev.azure.com/fabrikamfiber/.

Essa variável tem escopo de agente e pode ser usada como uma variável de ambiente em um script e como um parâmetro em uma tarefa de compilação, mas não como parte do número de compilação ou como uma marca de controle de versão.
Sim
System.TeamProject O nome do projeto que contém essa compilação. Sim
System.TeamProjectId A ID do projeto ao qual esta compilação pertence. Sim
System.TimelineId Um identificador baseado em cadeia de caracteres para os detalhes de execução e logs de uma única execução de pipeline. Não
TF_BUILD Defina como True se o script estiver sendo executado por uma tarefa de compilação.

Essa variável tem escopo de agente e pode ser usada como uma variável de ambiente em um script e como um parâmetro em uma tarefa de compilação, mas não como parte do número de compilação ou como uma marca de controle de versão.
Não

Verifica variáveis (Serviços de DevOps)

Variável Description
Checks.StageAttempt Defina como 1 na primeira vez que este estágio é tentado e aumenta sempre que o estágio é repetido.

Essa variável só pode ser usada dentro de uma aprovação ou verificação de um ambiente. Por exemplo, você pode usar $(Checks.StageAttempt) dentro de uma verificação Invoke REST API.

Adicione a tentativa de estágio como parâmetro.

Variáveis de agente (DevOps Server 2022)

Nota

Você pode usar variáveis de agente como variáveis de ambiente em seus scripts e como parâmetros em suas tarefas de compilação. Não é possível usá-los para personalizar o número de compilação ou para aplicar um rótulo ou tag de controle de versão.

Variável Description
Agent.BuildDirectory O caminho local no agente onde todas as pastas para um determinado pipeline de compilação são criadas. Esta variável tem o mesmo valor que Pipeline.Workspace. Por exemplo: /home/vsts/work/1.
Agent.ContainerMapping Um mapeamento de nomes de recursos de contêiner no YAML para seus IDs do Docker em tempo de execução. Exemplo segue tabela.
Agent.HomeDirectory O diretório no qual o agente está instalado. Isso contém o software do agente. Por exemplo: c:\agent.
Agent.Id O ID do agente.
Agent.JobName O nome do trabalho em execução. Isso geralmente será "Job" ou "__default", mas em cenários multi-config, será a configuração.
Agent.JobStatus O status da compilação.
  • Canceled
  • Failed
  • Succeeded
  • SucceededWithIssues (parcialmente bem-sucedido)
A variável de ambiente deve ser referenciada como AGENT_JOBSTATUS. O mais antigo agent.jobstatus está disponível para compatibilidade com versões anteriores.
Agent.MachineName O nome da máquina na qual o agente está instalado.
Agent.Name O nome do agente registrado no pool.

Se você estiver usando um agente auto-hospedado, esse nome será especificado por você. Veja agentes.
Agent.OS O sistema operacional do host do agente. Os valores válidos são:
  • Windows_NT
  • Darwin
  • Linux
Se você estiver executando em um contêiner, o host do agente e o contêiner podem estar executando sistemas operacionais diferentes.
Agent.OSArchitecture A arquitetura do processador do sistema operacional do host do agente. Os valores válidos são:
  • X86
  • X64
  • ARM
Agent.TempDirectory Uma pasta temporária que é limpa após cada trabalho de pipeline. Esse diretório é usado por tarefas como a tarefa .NET Core CLI para armazenar itens temporários, como resultados de teste, antes de serem publicados.

Por exemplo: /home/vsts/work/_temp para o Ubuntu.
Agent.ToolsDirectory O diretório usado por tarefas como Node Tool Installer e Use Python Version para alternar entre várias versões de uma ferramenta.

Essas tarefas adicionam ferramentas desse diretório para PATH que as etapas de compilação subsequentes possam usá-las.

Saiba mais sobre como gerenciar esse diretório em um agente auto-hospedado.
Agent.WorkFolder O diretório de trabalho para este agente. Por exemplo: c:\agent_work.

Nota: Não é garantido que este diretório seja gravável por tarefas de pipeline (por exemplo, quando mapeado em um contêiner).

Exemplo de Agent.ContainerMapping:

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

Variáveis de compilação (DevOps Server 2022)

Variável Description Disponível em modelos?
Build.ArtifactStagingDirectory O caminho local no agente para o qual todos os artefatos são copiados antes de serem enviados para o destino. Por exemplo: c:\agent_work\1\a.

Uma maneira típica de usar essa pasta é publicar seus artefatos de compilação com as tarefas Copiar arquivos e Publicar artefatos de compilação .

Nota: Build.ArtifactStagingDirectory e Build.StagingDirectory são intercambiáveis. Esse diretório é limpo antes de cada nova compilação, para que você não precise limpá-lo sozinho.

Consulte Artefatos no Azure Pipelines.

Essa variável tem escopo de agente e pode ser usada como uma variável de ambiente em um script e como um parâmetro em uma tarefa de compilação, mas não como parte do número de compilação ou como uma marca de controle de versão.
Não
Build.BuildId A ID do registro para a compilação concluída. Não
Build.BuildNumber O nome da compilação concluída, também conhecido como o número de execução. Você pode especificar o que está incluído nesse valor.

Um uso típico dessa variável é torná-la parte do formato de rótulo, que você especifica na guia repositório.

Nota: Este valor pode conter espaço em branco ou outros caracteres de rótulo inválidos. Nesses casos, o formato do rótulo falha.

Essa variável tem escopo de agente e pode ser usada como uma variável de ambiente em um script e como um parâmetro em uma tarefa de compilação, mas não como parte do número de compilação ou como uma marca de controle de versão.
Não
Build.BuildUri O URI para a compilação. Por exemplo: vstfs:///Build/Build/1430.

Essa variável tem escopo de agente e pode ser usada como uma variável de ambiente em um script e como um parâmetro em uma tarefa de compilação, mas não como parte do número de compilação ou como uma marca de controle de versão.
Não
Build.BinariesDirectory O caminho local no agente que você pode usar como uma pasta de saída para binários compilados.

Por padrão, novos pipelines de compilação não são configurados para limpar esse diretório. Você pode definir sua compilação para limpá-la na guia Repositório.

Por exemplo: c:\agent_work\1\b.

Essa variável tem escopo de agente e pode ser usada como uma variável de ambiente em um script e como um parâmetro em uma tarefa de compilação, mas não como parte do número de compilação ou como uma marca de controle de versão.
Não
Build.ContainerId A ID do contêiner para seu artefato. Quando você carrega um artefato em seu pipeline, ele é adicionado a um contêiner específico para esse artefato específico. Não
Build.CronSchedule.DisplayName O displayName da programação cron que acionou a execução do pipeline. Essa variável só será definida se a execução do pipeline for acionada por um gatilho agendado YAML. Para obter mais informações, consulte definição schedules.cron - variável Build.CronSchedule.DisplayName. Essa variável está disponível no Azure DevOps Server 2022.1 e superior. Sim
Build.DefinitionName O nome do pipeline de compilação.

Nota: Este valor pode conter espaço em branco ou outros caracteres de rótulo inválidos. Nesses casos, o formato do rótulo falha.
Sim
Build.DefinitionVersion A versão do pipeline de compilação. Sim
Build.QueuedBy Consulte "Como são definidas as variáveis de identidade?".

Nota: Este valor pode conter espaço em branco ou outros caracteres de rótulo inválidos. Nesses casos, o formato do rótulo falha.
Sim
Build.QueuedById Consulte "Como são definidas as variáveis de identidade?. Sim
Build.Reason O evento que fez com que a compilação fosse executada.
  • Manual: Um usuário enfileirou manualmente a compilação.
  • IndividualCI: Integração contínua (CI) desencadeada por um push Git ou um check-in TFVC.
  • BatchedCI: Integração contínua (CI) acionada por um push Git ou um check-in TFVC, e as alterações em lote foram selecionadas.
  • Schedule: Gatilho agendado .
  • ValidateShelveset: Um usuário enfileirou manualmente a compilação de um conjunto de prateleiras TFVC específico.
  • CheckInShelveset: Gatilho de check-in fechado.
  • PullRequest: A compilação foi acionada por uma política de ramificação do Git que requer uma compilação.
  • BuildCompletion: A compilação foi acionada por outra compilação
  • ResourceTrigger: A compilação foi acionada por um gatilho de recurso ou foi acionada por outra compilação.
Consulte Criar gatilhos de pipeline, Melhorar a qualidade do código com políticas de filial.
Sim
Build.Repository.Clean O valor selecionado para Limpar nas configurações do repositório de origem.

Essa variável tem escopo de agente e pode ser usada como uma variável de ambiente em um script e como um parâmetro em uma tarefa de compilação, mas não como parte do número de compilação ou como uma marca de controle de versão.
Não
Build.Repository.LocalPath O caminho local no agente onde seus arquivos de código-fonte são baixados. Por exemplo: c:\agent_work\1\s.

Por padrão, os novos pipelines de compilação atualizam apenas os arquivos alterados. Você pode modificar como os arquivos são baixados na guia Repositório.

Observação importante: Se você fizer check-out de apenas um repositório Git, esse caminho será o caminho exato para o código. Se você fizer check-out de vários repositórios, o comportamento será o seguinte (e pode diferir do valor da variável Build.SourcesDirectory):
  • Se a etapa de check-out para o repositório self (primário) não tiver um caminho de check-out personalizado definido, ou se o caminho de check-out for o caminho $(Pipeline.Workspace)/s/<RepoName> padrão de multi-checkout para o repositório self, o valor dessa variável será revertido para seu valor padrão, que é $(Pipeline.Workspace)/s.
  • Se a etapa de check-out para o repositório self (primário) tiver um caminho de check-out personalizado definido (e não for seu caminho padrão de multi-checkout), essa variável conterá o caminho exato para o repositório self.
Essa variável tem escopo de agente e pode ser usada como uma variável de ambiente em um script e como um parâmetro em uma tarefa de compilação, mas não como parte do número de compilação ou como uma marca de controle de versão.
Não
Build.Repository.ID O identificador exclusivo do repositório.

Isso não será alterado, mesmo que o nome do repositório mude.

Essa variável tem escopo de agente e pode ser usada como uma variável de ambiente em um script e como um parâmetro em uma tarefa de compilação, mas não como parte do número de compilação ou como uma marca de controle de versão.
Não
Build.Repository.Name O nome do repositório de acionamento.

Essa variável tem escopo de agente e pode ser usada como uma variável de ambiente em um script e como um parâmetro em uma tarefa de compilação, mas não como parte do número de compilação ou como uma marca de controle de versão.
Não
Build.Repository.Provider O tipo de repositório de acionamento.
Essa variável tem escopo de agente e pode ser usada como uma variável de ambiente em um script e como um parâmetro em uma tarefa de compilação, mas não como parte do número de compilação ou como uma marca de controle de versão.
Não
Build.Repository.Tfvc.Workspace Definido se seu repositório é Team Foundation Version Control. O nome do espaço de trabalho TFVC usado pelo agente de compilação.

Por exemplo, se o Agent.BuildDirectory for c:\agent_work\12 e o Agent.Id for 8, o nome do espaço de trabalho poderá ser: ws_12_8.

Essa variável tem escopo de agente e pode ser usada como uma variável de ambiente em um script e como um parâmetro em uma tarefa de compilação, mas não como parte do número de compilação ou como uma marca de controle de versão.
Não
Build.Repository.Uri A URL do repositório de acionamento. Por exemplo:Essa variável tem escopo de agente e pode ser usada como uma variável de ambiente em um script e como um parâmetro em uma tarefa de compilação, mas não como parte do número de compilação ou como uma marca de controle de versão. Não
Build.RequestedFor Consulte "Como são definidas as variáveis de identidade?".

Nota: Este valor pode conter espaço em branco ou outros caracteres de rótulo inválidos. Nesses casos, o formato do rótulo falha.
Sim
Build.RequestedForEmail Consulte "Como são definidas as variáveis de identidade?". Sim
Build.RequestedForId Consulte "Como são definidas as variáveis de identidade?". Sim
Build.SourceBranch A ramificação do repositório de acionamento para o qual a compilação foi enfileirada. Alguns exemplos:
  • Ramo Git repo: refs/heads/main
  • Solicitação de pull de repositório Git: refs/pull/1/merge
  • Ramo de recompra TFVC: $/teamproject/main
  • TFVC repo check-in fechado: Gated_2016-06-06_05.20.51.4369;username@live.com
  • TFVC repo shelveset construir: myshelveset;username@live.com
  • Quando o pipeline é acionado por uma tag: refs/tags/your-tag-name
Quando você usa essa variável no formato de número de compilação, os caracteres de barra (/) são substituídos por caracteres _de sublinhado ).

Nota: No TFVC, se você estiver executando uma compilação de check-in fechado ou construindo manualmente um conjunto de prateleiras, não poderá usar essa variável no formato de número de compilação.
Sim
Build.SourceBranchName O nome da ramificação no repositório de acionamento para o qual a compilação foi enfileirada.
  • Git repo branch, pull request, or tag: O último segmento de caminho na ref. Por exemplo, neste refs/heads/main valor é main. Neste refs/heads/feature/tools valor é tools. Neste refs/tags/your-tag-name valor é your-tag-name.
  • Ramificação de repositório TFVC: O último segmento de caminho no caminho do servidor raiz para o espaço de trabalho. Por exemplo, neste $/teamproject/main valor é main.
  • TFVC repo gated check-in ou shelveset build é o nome do shelveset. Por exemplo, Gated_2016-06-06_05.20.51.4369;username@live.com ou myshelveset;username@live.com.
Nota: No TFVC, se você estiver executando uma compilação de check-in fechado ou construindo manualmente um conjunto de prateleiras, não poderá usar essa variável no formato de número de compilação.
Sim
Build.SourcesDirectory O caminho local no agente onde seus arquivos de código-fonte são baixados. Por exemplo: c:\agent_work\1\s.

Por padrão, os novos pipelines de compilação atualizam apenas os arquivos alterados.

Observação importante: Se você fizer check-out de apenas um repositório Git, esse caminho será o caminho exato para o código. Se você fizer check-out de vários repositórios, ele será revertido para seu valor padrão, que é $(Pipeline.Workspace)/s, mesmo que o repositório self (primário) faça check-out para um caminho personalizado diferente de seu caminho $(Pipeline.Workspace)/s/<RepoName> padrão de multi-checkout (nesse aspeto, a variável difere do comportamento da variável Build.Repository.LocalPath).

Essa variável tem escopo de agente e pode ser usada como uma variável de ambiente em um script e como um parâmetro em uma tarefa de compilação, mas não como parte do número de compilação ou como uma marca de controle de versão.
Não
Build.SourceVersion A última alteração de controle de versão do repositório de acionamento incluído nesta compilação.
Essa variável tem escopo de agente e pode ser usada como uma variável de ambiente em um script e como um parâmetro em uma tarefa de compilação, mas não como parte do número de compilação ou como uma marca de controle de versão.
Sim
Build.SourceVersionMessage O comentário do commit ou changeset para o repositório de acionamento. Truncamos a mensagem para a primeira linha ou 200 caracteres, o que for mais curto.

O Build.SourceVersionMessage corresponde à mensagem sobre Build.SourceVersion commit. A Build.SourceVersion confirmação para uma compilação PR é a confirmação de mesclagem (não a confirmação na ramificação de origem).

Essa variável tem escopo de agente e pode ser usada como uma variável de ambiente em um script e como um parâmetro em uma tarefa de compilação, mas não como parte do número de compilação ou como uma marca de controle de versão.

Além disso, essa variável só está disponível no nível de etapa e não está disponível nos níveis de trabalho ou estágio (ou seja, a mensagem não é extraída até que o trabalho seja iniciado e o código seja verificado).

Nota: Esta variável está disponível no TFS 2015.4.

Nota: A variável Build.SourceVersionMessage não funciona com pipelines de compilação clássicos em repositórios Bitbucket quando Batch muda enquanto uma compilação está em andamento está habilitada.
Não
Build.StagingDirectory O caminho local no agente para o qual todos os artefatos são copiados antes de serem enviados para o destino. Por exemplo: c:\agent_work\1\a.

Uma maneira típica de usar essa pasta é publicar seus artefatos de compilação com as tarefas Copiar arquivos e Publicar artefatos de compilação .

Nota: Build.ArtifactStagingDirectory e Build.StagingDirectory são intercambiáveis. Esse diretório é limpo antes de cada nova compilação, para que você não precise limpá-lo sozinho.

Consulte Artefatos no Azure Pipelines.

Essa variável tem escopo de agente e pode ser usada como uma variável de ambiente em um script e como um parâmetro em uma tarefa de compilação, mas não como parte do número de compilação ou como uma marca de controle de versão.
Não
Build.Repository.Git.SubmoduleCheckout O valor selecionado para os submódulos Checkout na guia repositório. Com vários repositórios com check-out, esse valor rastreia a configuração do repositório de acionamento.

Essa variável tem escopo de agente e pode ser usada como uma variável de ambiente em um script e como um parâmetro em uma tarefa de compilação, mas não como parte do número de compilação ou como uma marca de controle de versão.
Não
Build.SourceTfvcShelveset Definido se seu repositório é Team Foundation Version Control.

Se você estiver executando uma compilação fechada ou uma compilação de prateleira, isso será definido com o nome do conjunto de prateleiras que você está construindo.

Nota: Essa variável produz um valor que é inválido para uso de compilação em um formato de número de compilação.
Não
Build.TriggeredBy.BuildId Se a compilação foi acionada por outra compilação, essa variável é definida como BuildID da compilação de acionamento. Em pipelines clássicos, essa variável é acionada por um gatilho de conclusão de compilação.

Essa variável tem escopo de agente e pode ser usada como uma variável de ambiente em um script e como um parâmetro em uma tarefa de compilação, mas não como parte do número de compilação ou como uma marca de controle de versão.

Se você estiver acionando um pipeline YAML usando resourceso , deverá usar as variáveis de recursos.
Não
Build.TriggeredBy.DefinitionId Se a compilação foi acionada por outra compilação, essa variável é definida como DefinitionID da compilação de acionamento. Em pipelines clássicos, essa variável é acionada por um gatilho de conclusão de compilação.

Essa variável tem escopo de agente e pode ser usada como uma variável de ambiente em um script e como um parâmetro em uma tarefa de compilação, mas não como parte do número de compilação ou como uma marca de controle de versão.

Se você estiver acionando um pipeline YAML usando resourceso , deverá usar as variáveis de recursos.
Não
Build.TriggeredBy.DefinitionName Se a compilação foi acionada por outra compilação, essa variável é definida como o nome do pipeline de compilação de acionamento. Em pipelines clássicos, essa variável é acionada por um gatilho de conclusão de compilação.

Essa variável tem escopo de agente e pode ser usada como uma variável de ambiente em um script e como um parâmetro em uma tarefa de compilação, mas não como parte do número de compilação ou como uma marca de controle de versão.

Se você estiver acionando um pipeline YAML usando resourceso , deverá usar as variáveis de recursos.
Não
Build.TriggeredBy.BuildNumber Se a compilação foi acionada por outra compilação, essa variável é definida como o número da compilação de acionamento. Em pipelines clássicos, essa variável é acionada por um gatilho de conclusão de compilação.

Essa variável tem escopo de agente e pode ser usada como uma variável de ambiente em um script e como um parâmetro em uma tarefa de compilação, mas não como parte do número de compilação ou como uma marca de controle de versão.

Se você estiver acionando um pipeline YAML usando resourceso , deverá usar as variáveis de recursos.
Não
Build.TriggeredBy.ProjectID Se a compilação foi acionada por outra compilação, essa variável é definida como ID do projeto que contém a compilação de acionamento. Em pipelines clássicos, essa variável é acionada por um gatilho de conclusão de compilação.

Essa variável tem escopo de agente e pode ser usada como uma variável de ambiente em um script e como um parâmetro em uma tarefa de compilação, mas não como parte do número de compilação ou como uma marca de controle de versão.

Se você estiver acionando um pipeline YAML usando resourceso , deverá usar as variáveis de recursos.
Não
Common.TestResultsDirectory O caminho local no agente onde os resultados do teste são criados. Por exemplo: c:\agent_work\1\TestResults.

Essa variável tem escopo de agente e pode ser usada como uma variável de ambiente em um script e como um parâmetro em uma tarefa de compilação, mas não como parte do número de compilação ou como uma marca de controle de versão.
Não

Variáveis de pipeline (DevOps Server 2022)

Variável Description
Pipeline.Workspace Diretório de espaço de trabalho para um pipeline específico. Esta variável tem o mesmo valor que Agent.BuildDirectory. Por exemplo, /home/vsts/work/1.

Gorjeta

Se você estiver usando pipelines de liberação clássicos, poderá usar versões clássicas e variáveis de artefatos para armazenar e acessar dados em todo o pipeline.

Variáveis de trabalho de implantação (DevOps Server 2022)

Essas variáveis têm como escopo um trabalho de Implantação específico e serão resolvidas somente no momento da execução do trabalho.

Variável Description
Environment.Name Nome do ambiente de destino no trabalho de implantação para executar as etapas de implantação e registrar o histórico de implantação. Por exemplo, smarthotel-dev.
Environment.Id ID do ambiente de destino no trabalho de implantação. Por exemplo, 10.
Environment.ResourceName Nome do recurso específico dentro do ambiente de destino no trabalho de implantação para executar as etapas de implantação e registrar o histórico de implantação. Por exemplo, bookings que é um namespace do Kubernetes que foi adicionado como um recurso ao ambiente smarthotel-dev.
Environment.ResourceId ID do recurso específico dentro do ambiente de destino no trabalho de implantação para executar as etapas de implantação. Por exemplo, 4.
Strategy.Name O nome da estratégia de implantação: canary, runOnce, ou rolling.
Strategy.CycleName O nome do ciclo atual em uma implantação. As opções são PreIteration, Iterationou PostIteration.

Variáveis do sistema (DevOps Server 2022)

Variável Description Disponível em modelos?
System.AccessToken Use o token OAuth para acessar a API REST.

Use System.AccessToken de scripts YAML.

Essa variável tem escopo de agente e pode ser usada como uma variável de ambiente em um script e como um parâmetro em uma tarefa de compilação, mas não como parte do número de compilação ou como uma marca de controle de versão.
Sim
System.CollectionId O GUID da coleção TFS ou da organização do Azure DevOps. Sim
System.CollectionUri O URI da coleção TFS ou da organização do Azure DevOps. Por exemplo: https://dev.azure.com/fabrikamfiber/. Sim
System.DefaultWorkingDirectory O caminho local no agente onde seus arquivos de código-fonte são baixados. Por exemplo: c:\agent_work\1\s

Por padrão, os novos pipelines de compilação atualizam apenas os arquivos alterados. Você pode modificar como os arquivos são baixados na guia Repositório.

Essa variável tem escopo de agente. Ele pode ser usado como uma variável de ambiente em um script e como um parâmetro em uma tarefa de compilação, mas não como parte do número de compilação ou como uma tag de controle de versão.
Sim
System.DefinitionId A ID do pipeline de compilação. Sim
System.HostType Defina como build se o pipeline for uma compilação. Para uma versão, os valores são deployment para um trabalho de grupo de Implantação, gates durante a avaliação de portões, e release para outros trabalhos (Agent e Agentless). Sim
System.JobAttempt Defina como 1 na primeira vez que este trabalho é tentado e aumenta sempre que o trabalho é repetido. Não
System.JobDisplayName O nome legível por humanos dado a um trabalho. Não
System.JobId Um identificador exclusivo para uma única tentativa de um único trabalho. O valor é exclusivo para o pipeline atual. Não
System.JobName O nome do trabalho, normalmente usado para expressar dependências e acessar variáveis de saída. Não
System.PhaseAttempt Defina como 1 na primeira vez que esta fase é tentada e aumenta sempre que o trabalho é repetido.

Nota: "Fase" é um conceito principalmente redundante, que representa o tempo de design para um trabalho (enquanto o trabalho era a versão de tempo de execução de uma fase). Removemos principalmente o conceito de "fase" do Azure Pipelines. Os trabalhos matriciais e multi-config são o único lugar onde "fase" ainda é distinta de "trabalho". Uma fase pode instanciar vários trabalhos, que diferem apenas em suas entradas.
Não
System.PhaseDisplayName O nome legível por humanos dado a uma fase. Não
System.PhaseName Um identificador baseado em cadeia de caracteres para um trabalho, normalmente usado para expressar dependências e acessar variáveis de saída. Não
System.PlanId Um identificador baseado em cadeia de caracteres para uma única execução de pipeline. Não
System.PullRequest.IsFork Se a solicitação pull for de uma bifurcação do repositório, essa variável será definida como True. Caso contrário, é definido como False. Sim
System.PullRequest.PullRequestId A ID da solicitação pull que causou essa compilação. Por exemplo: 17. (Esta variável é inicializada somente se a compilação foi executada devido a um Git PR afetado por uma política de filial). Não
System.PullRequest.PullRequestNumber O número da solicitação pull que causou essa compilação. Essa variável é preenchida para solicitações pull do GitHub que têm um ID de solicitação pull e um número de solicitação pull diferentes. Essa variável só estará disponível em um pipeline YAML se a RP for afetada por uma política de ramificação. Não
System.PullRequest.targetBranchName O nome da ramificação de destino para uma solicitação pull. Essa variável pode ser usada em um pipeline para executar condicionalmente tarefas ou etapas com base na ramificação de destino da solicitação pull. Por exemplo, talvez você queira acionar um conjunto diferente de testes ou ferramentas de análise de código, dependendo da ramificação na qual as alterações estão sendo mescladas. Não
System.PullRequest.SourceBranch A ramificação que está sendo revisada em uma solicitação pull. Por exemplo: refs/heads/users/raisa/new-feature para Azure Repos. (Esta variável é inicializada somente se a compilação foi executada devido a um Git PR afetado por uma política de filial). Essa variável só estará disponível em um pipeline YAML se a RP for afetada por uma política de ramificação. Não
System.PullRequest.SourceRepositoryURI A URL para o repositório que contém a solicitação pull. Por exemplo: https://dev.azure.com/ouraccount/_git/OurProject. Não
System.PullRequest.TargetBranch A ramificação que é o destino de uma solicitação pull. Por exemplo: refs/heads/main quando seu repositório está no Azure Repos e main quando seu repositório está no GitHub. Essa variável será inicializada somente se a compilação for executada devido a um Git PR afetado por uma política de ramificação. Essa variável só estará disponível em um pipeline YAML se a RP for afetada por uma política de ramificação. Não
System.StageAttempt Defina como 1 na primeira vez que este estágio é tentado e aumenta sempre que o estágio é repetido. Não
System.StageDisplayName O nome legível por humanos dado a um palco. Não
System.StageName Um identificador baseado em cadeia de caracteres para um estágio, normalmente usado para expressar dependências e acessar variáveis de saída. Não
System.TeamFoundationCollectionUri O URI da coleção TFS ou da organização do Azure DevOps. Por exemplo: https://dev.azure.com/fabrikamfiber/.

Essa variável tem escopo de agente e pode ser usada como uma variável de ambiente em um script e como um parâmetro em uma tarefa de compilação, mas não como parte do número de compilação ou como uma marca de controle de versão.
Sim
System.TeamProject O nome do projeto que contém essa compilação. Sim
System.TeamProjectId A ID do projeto ao qual esta compilação pertence. Sim
System.TimelineId Um identificador baseado em cadeia de caracteres para os detalhes de execução e logs de uma única execução de pipeline. Não
TF_BUILD Defina como True se o script estiver sendo executado por uma tarefa de compilação.

Essa variável tem escopo de agente e pode ser usada como uma variável de ambiente em um script e como um parâmetro em uma tarefa de compilação, mas não como parte do número de compilação ou como uma marca de controle de versão.
Não

Verifica variáveis (DevOps Server 2022)

Variável Description
Checks.StageAttempt Defina como 1 na primeira vez que este estágio é tentado e aumenta sempre que o estágio é repetido.
Essa variável só pode ser usada dentro de uma aprovação ou verificação de um ambiente. Por exemplo, você pode usar $(Checks.StageAttempt) dentro de uma verificação Invoke REST API.
Adicione a tentativa de estágio como parâmetro.

Variáveis de agente (DevOps Server 2020)

Nota

Você pode usar variáveis de agente como variáveis de ambiente em seus scripts e como parâmetros em suas tarefas de compilação. Não é possível usá-los para personalizar o número de compilação ou para aplicar um rótulo ou tag de controle de versão.

Variável Description
Agent.BuildDirectory O caminho local no agente onde todas as pastas para um determinado pipeline de compilação são criadas. Esta variável tem o mesmo valor que Pipeline.Workspace. Por exemplo: /home/vsts/work/1.
Agent.HomeDirectory O diretório no qual o agente está instalado. Isso contém o software do agente. Por exemplo: c:\agent.
Agent.Id O ID do agente.
Agent.JobName O nome do trabalho em execução. Isso geralmente será "Job" ou "__default", mas em cenários multi-config, será a configuração.
Agent.JobStatus O status da compilação.
  • Canceled
  • Failed
  • Succeeded
  • SucceededWithIssues (parcialmente bem-sucedido)
A variável de ambiente deve ser referenciada como AGENT_JOBSTATUS. O mais antigo agent.jobstatus está disponível para compatibilidade com versões anteriores.
Agent.MachineName O nome da máquina na qual o agente está instalado.
Agent.Name O nome do agente registrado no pool.

Se você estiver usando um agente auto-hospedado, esse nome será definido por você. Veja agentes.
Agent.OS O sistema operacional do host do agente. Os valores válidos são:
  • Windows_NT
  • Darwin
  • Linux
Se você estiver executando em um contêiner, o host do agente e o contêiner podem estar executando sistemas operacionais diferentes.
Agent.OSArchitecture A arquitetura do processador do sistema operacional do host do agente. Os valores válidos são:
  • X86
  • X64
  • ARM processor
Agent.TempDirectory Uma pasta temporária que é limpa após cada trabalho de pipeline. Esse diretório é usado por tarefas como a tarefa .NET Core CLI para armazenar itens temporários, como resultados de teste, antes de serem publicados.
Por exemplo: /home/vsts/work/_temp para o Ubuntu.
Agent.ToolsDirectory O diretório usado por tarefas como Node Tool Installer e Use Python Version para alternar entre várias versões de uma ferramenta.

Essas tarefas adicionam ferramentas desse diretório para PATH que as etapas de compilação subsequentes possam usá-las.

Saiba mais sobre como gerenciar esse diretório em um agente auto-hospedado.
Agent.WorkFolder O diretório de trabalho para este agente. Por exemplo: c:\agent_work.

Nota: Não é garantido que este diretório seja gravável por tarefas de pipeline (por exemplo, quando mapeado em um contêiner)

Variáveis de compilação (DevOps Server 2020)

Variável Description Disponível em modelos?
Build.ArtifactStagingDirectory O caminho local no agente para o qual todos os artefatos são copiados antes de serem enviados para o destino. Por exemplo: c:\agent_work\1\a.

Uma maneira típica de usar essa pasta é publicar seus artefatos de compilação com as tarefas Copiar arquivos e Publicar artefatos de compilação .

Nota: Build.ArtifactStagingDirectory e Build.StagingDirectory são intercambiáveis. Esse diretório é limpo antes de cada nova compilação, para que você não precise limpá-lo sozinho.

Consulte Artefatos no Azure Pipelines.

Essa variável tem escopo de agente e pode ser usada como uma variável de ambiente em um script e como um parâmetro em uma tarefa de compilação, mas não como parte do número de compilação ou como uma marca de controle de versão.
Não
Build.BuildId A ID do registro para a compilação concluída. Não
Build.BuildNumber O nome da compilação concluída, também conhecido como o número de execução. Você pode especificar o que está incluído nesse valor.

Um uso típico dessa variável é torná-la parte do formato de rótulo, que você especifica na guia repositório.

Nota: Este valor pode conter espaço em branco ou outros caracteres de rótulo inválidos. Nesses casos, o formato do rótulo falha.

Essa variável tem escopo de agente e pode ser usada como uma variável de ambiente em um script e como um parâmetro em uma tarefa de compilação, mas não como parte do número de compilação ou como uma marca de controle de versão.
Não
Build.BuildUri O URI para a compilação. Por exemplo: vstfs:///Build/Build/1430.

Essa variável tem escopo de agente e pode ser usada como uma variável de ambiente em um script e como um parâmetro em uma tarefa de compilação, mas não como parte do número de compilação ou como uma marca de controle de versão.
Não
Build.BinariesDirectory O caminho local no agente que você pode usar como uma pasta de saída para binários compilados.

Por padrão, novos pipelines de compilação não são configurados para limpar esse diretório. Você pode definir sua compilação para limpá-la na guia Repositório.

Por exemplo: c:\agent_work\1\b.

Essa variável tem escopo de agente e pode ser usada como uma variável de ambiente em um script e como um parâmetro em uma tarefa de compilação, mas não como parte do número de compilação ou como uma marca de controle de versão.
Não
Build.ContainerId A ID do contêiner para seu artefato. Quando você carrega um artefato em seu pipeline, ele é adicionado a um contêiner específico para esse artefato específico. Não
Build.DefinitionName O nome do pipeline de compilação.

Nota: Este valor pode conter espaço em branco ou outros caracteres de rótulo inválidos. Nesses casos, o formato do rótulo falhará.
Sim
Build.DefinitionVersion A versão do pipeline de compilação. Sim
Build.QueuedBy Consulte "Como são definidas as variáveis de identidade?".

Nota: Este valor pode conter espaço em branco ou outros caracteres de rótulo inválidos. Nesses casos, o formato do rótulo falha.
Sim
Build.QueuedById Consulte "Como são definidas as variáveis de identidade?". Sim
Build.Reason O evento que fez com que a compilação fosse executada.
  • Manual: Um usuário enfileirou manualmente a compilação.
  • IndividualCI: Integração contínua (CI) desencadeada por um push Git ou um check-in TFVC.
  • BatchedCI: Integração contínua (CI) acionada por um push Git ou um check-in TFVC, e as alterações em lote foram selecionadas.
  • Schedule: Gatilho agendado .
  • ValidateShelveset: Um usuário enfileirou manualmente a compilação de um conjunto de prateleiras TFVC específico.
  • CheckInShelveset: Gatilho de check-in fechado.
  • PullRequest: A compilação foi acionada por uma política de ramificação do Git que requer uma compilação.
  • BuildCompletion: A compilação foi acionada por outra compilação
  • ResourceTrigger: A compilação foi acionada por um gatilho de recurso ou foi acionada por outra compilação.
Consulte Criar gatilhos de pipeline, Melhorar a qualidade do código com políticas de filial.
Sim
Build.Repository.Clean O valor selecionado para Limpar nas configurações do repositório de origem.

Essa variável tem escopo de agente e pode ser usada como uma variável de ambiente em um script e como um parâmetro em uma tarefa de compilação, mas não como parte do número de compilação ou como uma marca de controle de versão.
Não
Build.Repository.LocalPath O caminho local no agente onde seus arquivos de código-fonte são baixados. Por exemplo: c:\agent_work\1\s.

Por padrão, os novos pipelines de compilação atualizam apenas os arquivos alterados. Você pode modificar como os arquivos são baixados na guia Repositório.

Observação importante: Se você fizer check-out de apenas um repositório Git, esse caminho será o caminho exato para o código.

Se você fizer check-out de vários repositórios, o comportamento será o seguinte (e pode diferir do valor da variável Build.SourcesDirectory):
  • Se a etapa de check-out para o repositório self (primário) não tiver um caminho de check-out personalizado definido, ou se o caminho de check-out for o caminho $(Pipeline.Workspace)/s/&lt;RepoName&gt; padrão de multi-checkout para o repositório self, o valor dessa variável será revertido para seu valor padrão, que é $(Pipeline.Workspace)/s.
  • Se a etapa de check-out para o repositório self (principal) tiver um caminho de check-out personalizado definido (e não for seu caminho padrão de multi-checkout), essa variável conterá o caminho exato para o repositório self.
Essa variável tem escopo de agente e pode ser usada como uma variável de ambiente em um script e como um parâmetro em uma tarefa de compilação, mas não como parte do número de compilação ou como uma marca de controle de versão.
Não
Build.Repository.ID O identificador exclusivo do repositório.

Isso não será alterado, mesmo que o nome do repositório mude.

Essa variável tem escopo de agente e pode ser usada como uma variável de ambiente em um script e como um parâmetro em uma tarefa de compilação, mas não como parte do número de compilação ou como uma marca de controle de versão.
Não
Build.Repository.Name O nome do repositório de acionamento.

Essa variável tem escopo de agente e pode ser usada como uma variável de ambiente em um script e como um parâmetro em uma tarefa de compilação, mas não como parte do número de compilação ou como uma marca de controle de versão.
Não
Build.Repository.Provider O tipo de repositório de acionamento.
Essa variável tem escopo de agente e pode ser usada como uma variável de ambiente em um script e como um parâmetro em uma tarefa de compilação, mas não como parte do número de compilação ou como uma marca de controle de versão.
Não
Build.Repository.Tfvc.Workspace Definido se seu repositório é Team Foundation Version Control. O nome do espaço de trabalho TFVC usado pelo agente de compilação.

Por exemplo, se o Agent.BuildDirectory for c:\agent_work\12 e o Agent.Id for 8, o nome do espaço de trabalho poderá ser: ws_12_8.

Essa variável tem escopo de agente e pode ser usada como uma variável de ambiente em um script e como um parâmetro em uma tarefa de compilação, mas não como parte do número de compilação ou como uma marca de controle de versão.
Não
Build.Repository.Uri A URL do repositório de acionamento. Por exemplo:
Essa variável tem escopo de agente e pode ser usada como uma variável de ambiente em um script e como um parâmetro em uma tarefa de compilação, mas não como parte do número de compilação ou como uma marca de controle de versão.
Não
Build.RequestedFor Consulte "Como são definidas as variáveis de identidade?".

Nota: Este valor pode conter espaço em branco ou outros caracteres de rótulo inválidos. Nesses casos, o formato do rótulo falha.
Sim
Build.RequestedForEmail Consulte "Como são definidas as variáveis de identidade?". Sim
Build.RequestedForId Consulte "Como são definidas as variáveis de identidade?". Sim
Build.SourceBranch A ramificação do repositório de acionamento para o qual a compilação foi enfileirada. Alguns exemplos:
  • Ramo Git repo: refs/heads/main
  • Solicitação de pull de repositório Git: refs/pull/1/merge
  • Ramo de recompra TFVC: $/teamproject/main
  • TFVC repo check-in fechado: Gated_2016-06-06_05.20.51.4369;username@live.com
  • TFVC repo shelveset construir: myshelveset;username@live.com
  • Quando o pipeline é acionado por uma tag: refs/tags/your-tag-name
Quando você usa essa variável no formato de número de compilação, os caracteres de barra (/) são substituídos por caracteres _de sublinhado ).

Nota: No TFVC, se você estiver executando uma compilação de check-in fechado ou construindo manualmente um conjunto de prateleiras, não poderá usar essa variável no formato de número de compilação.
Sim
Build.SourceBranchName O nome da ramificação no repositório de acionamento para o qual a compilação foi enfileirada.
  • Git repo branch, pull request, or tag: O último segmento de caminho na ref. Por exemplo, neste refs/heads/main valor é main. Neste refs/heads/feature/tools valor é tools. Neste refs/tags/your-tag-name valor é your-tag-name.
  • Ramificação de repositório TFVC: O último segmento de caminho no caminho do servidor raiz para o espaço de trabalho. Por exemplo, neste $/teamproject/main valor é main.
  • TFVC repo gated check-in ou shelveset build é o nome do shelveset. Por exemplo, Gated_2016-06-06_05.20.51.4369;username@live.com ou myshelveset;username@live.com.
Nota: No TFVC, se você estiver executando uma compilação de check-in fechado ou construindo manualmente um conjunto de prateleiras, não poderá usar essa variável no formato de número de compilação.
Sim
Build.SourcesDirectory O caminho local no agente onde seus arquivos de código-fonte são baixados. Por exemplo: c:\agent_work\1\s.

Por padrão, os novos pipelines de compilação atualizam apenas os arquivos alterados.

Observação importante: Se você fizer check-out de apenas um repositório Git, esse caminho será o caminho exato para o código. Se você fizer check-out de vários repositórios, ele será revertido para seu valor padrão, que é $(Pipeline.Workspace)/s, mesmo que o repositório self (primário) faça check-out para um caminho personalizado diferente de seu caminho $(Pipeline.Workspace)/s/<RepoName> padrão de multi-checkout (nesse aspeto, a variável difere do comportamento da variável Build.Repository.LocalPath).

Essa variável tem escopo de agente e pode ser usada como uma variável de ambiente em um script e como um parâmetro em uma tarefa de compilação, mas não como parte do número de compilação ou como uma marca de controle de versão.
Não
Build.SourceVersion A última alteração de controle de versão do repositório de acionamento incluído nesta compilação.
Essa variável tem escopo de agente e pode ser usada como uma variável de ambiente em um script e como um parâmetro em uma tarefa de compilação, mas não como parte do número de compilação ou como uma marca de controle de versão.
Sim
Build.SourceVersionMessage O comentário do commit ou changeset para o repositório de acionamento. Truncamos a mensagem para a primeira linha ou 200 caracteres, o que for mais curto.

Essa variável tem escopo de agente e pode ser usada como uma variável de ambiente em um script e como um parâmetro em uma tarefa de compilação, mas não como parte do número de compilação ou como uma marca de controle de versão.

Além disso, essa variável só está disponível no nível de etapa e não está disponível nos níveis de trabalho ou estágio (ou seja, a mensagem não é extraída até que o trabalho tenha começado e feito check-out do código).

Nota: Esta variável está disponível no TFS 2015.4.

Nota: A variável Build.SourceVersionMessage não funciona com pipelines de compilação clássicos em repositórios Bitbucket quando Batch muda enquanto uma compilação está em andamento está habilitada.
Não
Build.StagingDirectory O caminho local no agente para o qual todos os artefatos são copiados antes de serem enviados para o destino. Por exemplo: c:\agent_work\1\a.

Uma maneira típica de usar essa pasta é publicar seus artefatos de compilação com as tarefas Copiar arquivos e Publicar artefatos de compilação .

Nota: Build.ArtifactStagingDirectory e Build.StagingDirectory são intercambiáveis. Esse diretório é limpo antes de cada nova compilação, para que você não precise limpá-lo sozinho.

Consulte Artefatos no Azure Pipelines.

Essa variável tem escopo de agente e pode ser usada como uma variável de ambiente em um script e como um parâmetro em uma tarefa de compilação, mas não como parte do número de compilação ou como uma marca de controle de versão.
Não
Build.Repository.Git.SubmoduleCheckout O valor selecionado para os submódulos Checkout na guia repositório. Com vários repositórios com check-out, esse valor rastreia a configuração do repositório de acionamento.

Essa variável tem escopo de agente e pode ser usada como uma variável de ambiente em um script e como um parâmetro em uma tarefa de compilação, mas não como parte do número de compilação ou como uma marca de controle de versão.
Não
Build.SourceTfvcShelveset Definido se seu repositório é Team Foundation Version Control.

Se você estiver executando uma compilação fechada ou uma compilação de prateleira, isso será definido com o nome do conjunto de prateleiras que você está construindo.

Nota: Essa variável produz um valor que é inválido para uso de compilação em um formato de número de compilação.
Não
Build.TriggeredBy.BuildId Se a compilação foi acionada por outra compilação, essa variável é definida como BuildID da compilação de acionamento. Em pipelines clássicos, essa variável é acionada por um gatilho de conclusão de compilação.

Essa variável tem escopo de agente e pode ser usada como uma variável de ambiente em um script e como um parâmetro em uma tarefa de compilação, mas não como parte do número de compilação ou como uma marca de controle de versão.
Não
Build.TriggeredBy.DefinitionId Se a compilação foi acionada por outra compilação, essa variável é definida como DefinitionID da compilação de acionamento. Em pipelines clássicos, essa variável é acionada por um gatilho de conclusão de compilação.

Essa variável tem escopo de agente e pode ser usada como uma variável de ambiente em um script e como um parâmetro em uma tarefa de compilação, mas não como parte do número de compilação ou como uma marca de controle de versão.
Não
Build.TriggeredBy.DefinitionName Se a compilação foi acionada por outra compilação, essa variável é definida como o nome do pipeline de compilação de acionamento. Em pipelines clássicos, essa variável é acionada por um gatilho de conclusão de compilação.

Essa variável tem escopo de agente e pode ser usada como uma variável de ambiente em um script e como um parâmetro em uma tarefa de compilação, mas não como parte do número de compilação ou como uma marca de controle de versão.
Não
Build.TriggeredBy.BuildNumber Se a compilação foi acionada por outra compilação, essa variável é definida como o número da compilação de acionamento. Em pipelines clássicos, essa variável é acionada por um gatilho de conclusão de compilação.

Essa variável tem escopo de agente e pode ser usada como uma variável de ambiente em um script e como um parâmetro em uma tarefa de compilação, mas não como parte do número de compilação ou como uma marca de controle de versão.
Não
Build.TriggeredBy.ProjectID Se a compilação foi acionada por outra compilação, essa variável é definida como ID do projeto que contém a compilação de acionamento. Em pipelines clássicos, essa variável é acionada por um gatilho de conclusão de compilação.

Essa variável tem escopo de agente e pode ser usada como uma variável de ambiente em um script e como um parâmetro em uma tarefa de compilação, mas não como parte do número de compilação ou como uma marca de controle de versão.
Não
Common.TestResultsDirectory O caminho local no agente onde os resultados do teste são criados. Por exemplo: c:\agent_work\1\TestResults.

Essa variável tem escopo de agente e pode ser usada como uma variável de ambiente em um script e como um parâmetro em uma tarefa de compilação, mas não como parte do número de compilação ou como uma marca de controle de versão.
Não

Variáveis de pipeline (DevOps Server 2020)

Variável Description
Pipeline.Workspace Diretório de espaço de trabalho para um pipeline específico. Esta variável tem o mesmo valor que Agent.BuildDirectory. Por exemplo, /home/vsts/work/1.

Variáveis de trabalho de implantação (DevOps Server 2020)

Essas variáveis têm como escopo um trabalho de Implantação específico e serão resolvidas somente no momento da execução do trabalho.

Variável Description
Environment.Name Nome do ambiente de destino no trabalho de implantação para executar as etapas de implantação e registrar o histórico de implantação. Por exemplo, smarthotel-dev.
Environment.Id ID do ambiente de destino no trabalho de implantação. Por exemplo, 10.
Environment.ResourceName Nome do recurso específico dentro do ambiente de destino no trabalho de implantação para executar as etapas de implantação e registrar o histórico de implantação. Por exemplo, bookings que é um namespace do Kubernetes que foi adicionado como um recurso ao ambiente smarthotel-dev.
Environment.ResourceId ID do recurso específico dentro do ambiente de destino no trabalho de implantação para executar as etapas de implantação. Por exemplo, 4.

Variáveis de sistema (DevOps Server 2020)

Variável Description Disponível em modelos?
System.AccessToken Use o token OAuth para acessar a API REST.

Use System.AccessToken de scripts YAML.

Essa variável tem escopo de agente e pode ser usada como uma variável de ambiente em um script e como um parâmetro em uma tarefa de compilação, mas não como parte do número de compilação ou como uma marca de controle de versão.
Sim
System.CollectionId O GUID da coleção TFS ou da organização do Azure DevOps Sim
System.CollectionUri Uma cadeia de caracteres Team Foundation Server coleção URI. Sim
System.DefaultWorkingDirectory O caminho local no agente onde seus arquivos de código-fonte são baixados. Por exemplo: c:\agent_work\1\s

Por padrão, os novos pipelines de compilação atualizam apenas os arquivos alterados. Você pode modificar como os arquivos são baixados na guia Repositório.

Essa variável tem escopo de agente. Ele pode ser usado como uma variável de ambiente em um script e como um parâmetro em uma tarefa de compilação, mas não como parte do número de compilação ou como uma tag de controle de versão.
Não
System.DefinitionId A ID do pipeline de compilação. Sim
System.HostType Defina como build se o pipeline for uma compilação. Para uma versão, os valores são deployment para um trabalho de grupo de Implantação, gates durante a avaliação de portões, e release para outros trabalhos (Agent e Agentless). Sim
System.JobAttempt Defina como 1 na primeira vez que este trabalho é tentado e aumenta sempre que o trabalho é repetido. Não
System.JobDisplayName O nome legível por humanos dado a um trabalho. Não
System.JobId Um identificador exclusivo para uma única tentativa de um único trabalho. O valor é exclusivo para o pipeline atual. Não
System.JobName O nome do trabalho, normalmente usado para expressar dependências e acessar variáveis de saída. Não
System.PhaseAttempt Defina como 1 na primeira vez que esta fase é tentada e aumenta sempre que o trabalho é repetido.

Nota: "Fase" é um conceito principalmente redundante, que representa o tempo de design para um trabalho (enquanto o trabalho era a versão de tempo de execução de uma fase). Removemos principalmente o conceito de "fase" do Azure Pipelines. Trabalhos matriciais e multi-configuração são o único lugar onde "fase" ainda é distinta de "trabalho". Uma fase pode instanciar vários trabalhos, que diferem apenas em suas entradas.
Não
System.PhaseDisplayName O nome legível por humanos dado a uma fase. Não
System.PhaseName Um identificador baseado em cadeia de caracteres para um trabalho, normalmente usado para expressar dependências e acessar variáveis de saída. Não
System.StageAttempt Defina como 1 na primeira vez que este estágio é tentado e aumenta sempre que o trabalho é repetido. Não
System.StageDisplayName O nome legível por humanos dado a um palco. Não
System.StageName Um identificador baseado em cadeia de caracteres para um estágio, normalmente usado para expressar dependências e acessar variáveis de saída. Sim
System.PullRequest.IsFork Se a solicitação pull for de uma bifurcação do repositório, essa variável será definida como True. Caso contrário, é definido como False. Sim
System.PullRequest.PullRequestId A ID da solicitação pull que causou essa compilação. Por exemplo: 17. (Esta variável é inicializada somente se a compilação foi executada devido a um Git PR afetado por uma política de filial). Não
System.PullRequest.PullRequestNumber O número da solicitação pull que causou essa compilação. Essa variável é preenchida para solicitações pull do GitHub, que têm um ID de solicitação pull e um número de solicitação pull diferentes. Essa variável só estará disponível em um pipeline YAML se a RP for afetada por uma política de ramificação. Não
System.PullRequest.targetBranchName O nome da ramificação de destino para uma solicitação pull. Essa variável pode ser usada em um pipeline para executar condicionalmente tarefas ou etapas com base na ramificação de destino da solicitação pull. Por exemplo, talvez você queira acionar um conjunto diferente de testes ou ferramentas de análise de código, dependendo da ramificação na qual as alterações estão sendo mescladas. Não
System.PullRequest.SourceBranch A ramificação que está sendo revisada em uma solicitação pull. Por exemplo: refs/heads/users/raisa/new-feature. (Esta variável é inicializada somente se a compilação foi executada devido a um Git PR afetado por uma política de filial). Essa variável só estará disponível em um pipeline YAML se a RP for afetada por uma política de ramificação. Não
System.PullRequest.SourceCommitId A confirmação que está sendo revisada em uma solicitação pull. (Esta variável é inicializada somente se a compilação foi executada devido a um Git PR afetado por uma política de filial). Essa variável só estará disponível em um pipeline YAML se a RP for afetada por uma política de ramificação.
System.PullRequest.SourceRepositoryURI A URL para o repositório que contém a solicitação pull. Por exemplo: https://dev.azure.com/ouraccount/_git/OurProject. Não
System.PullRequest.TargetBranch A ramificação que é o destino de uma solicitação pull. Por exemplo: refs/heads/main quando seu repositório está no Azure Repos e main quando seu repositório está no GitHub. Essa variável será inicializada somente se a compilação for executada devido a um Git PR afetado por uma política de ramificação. Essa variável só estará disponível em um pipeline YAML se a RP for afetada por uma política de ramificação. Não
System.TeamFoundationCollectionUri O URI da coleção da fundação da equipe. Por exemplo: https://dev.azure.com/fabrikamfiber/.

Essa variável tem escopo de agente e pode ser usada como uma variável de ambiente em um script e como um parâmetro em uma tarefa de compilação, mas não como parte do número de compilação ou como uma marca de controle de versão.
Sim
System.TeamProject O nome do projeto que contém essa compilação. Sim
System.TeamProjectId A ID do projeto ao qual esta compilação pertence. Sim
TF_BUILD Defina como True se o script estiver sendo executado por uma tarefa de compilação.

Essa variável tem escopo de agente e pode ser usada como uma variável de ambiente em um script e como um parâmetro em uma tarefa de compilação, mas não como parte do número de compilação ou como uma marca de controle de versão.
Não

Variáveis de agente (DevOps Server 2019)

Nota

Você pode usar variáveis de agente como variáveis de ambiente em seus scripts e como parâmetros em suas tarefas de compilação. Não é possível usá-los para personalizar o número de compilação ou para aplicar um rótulo ou tag de controle de versão.

Variável Description
Agent.BuildDirectory O caminho local no agente onde todas as pastas para um determinado pipeline de compilação são criadas. Por exemplo: c:\agent_work\1.
Agent.HomeDirectory O diretório no qual o agente está instalado. Isso contém o software do agente. Por exemplo: c:\agent.
Agent.Id O ID do agente.
Agent.JobName O nome do trabalho em execução. Isso geralmente será "Job" ou "__default", mas em cenários multi-config, será a configuração.
Agent.JobStatus O status da compilação.
  • Canceled
  • Failed
  • Succeeded
  • SucceededWithIssues (parcialmente bem-sucedido)
A variável de ambiente deve ser referenciada como AGENT_JOBSTATUS. O mais antigo agent.jobstatus está disponível para compatibilidade com versões anteriores.
Agent.MachineName O nome da máquina na qual o agente está instalado.
Agent.Name O nome do agente registrado no pool.

Se você estiver usando um agente auto-hospedado, esse nome será definido por você. Veja agentes.
Agent.OS O sistema operacional do host do agente. Os valores válidos são:
  • Windows_NT
  • Darwin
  • Linux
Se você estiver executando em um contêiner, o host do agente e o contêiner podem estar executando sistemas operacionais diferentes.
Agent.OSArchitecture A arquitetura do processador do sistema operacional do host do agente. Os valores válidos são:
  • X86
  • X64
  • ARM processor
Agent.TempDirectory Uma pasta temporária que é limpa após cada trabalho de pipeline. Esse diretório é usado por tarefas como a tarefa .NET Core CLI para armazenar itens temporários, como resultados de teste, antes de serem publicados.
Agent.ToolsDirectory O diretório usado por tarefas como Node Tool Installer e Use Python Version para alternar entre várias versões de uma ferramenta.

Essas tarefas adicionam ferramentas desse diretório para PATH que as etapas de compilação subsequentes possam usá-las.

Saiba mais sobre como gerenciar esse diretório em um agente auto-hospedado.
Agent.WorkFolder O diretório de trabalho para este agente. Por exemplo: c:\agent_work.

Não é garantido que esse diretório seja gravável por tarefas de pipeline (por exemplo, quando mapeado em um contêiner).

Variáveis de compilação (DevOps Server 2019)

Variável Description
Build.ArtifactStagingDirectory O caminho local no agente para o qual todos os artefatos são copiados antes de serem enviados para o destino. Por exemplo: c:\agent_work\1\a.

Uma maneira típica de usar essa pasta é publicar seus artefatos de compilação com as tarefas Copiar arquivos e Publicar artefatos de compilação .

Nota: Build.ArtifactStagingDirectory e Build.StagingDirectory são intercambiáveis. Esse diretório é limpo antes de cada nova compilação, para que você não precise limpá-lo sozinho.

Consulte Artefatos no Azure Pipelines.

Essa variável tem escopo de agente. Ele pode ser usado como uma variável de ambiente em um script e como um parâmetro em uma tarefa de compilação, mas não como parte do número de compilação ou como uma tag de controle de versão.
Build.BuildId A ID do registro para a compilação concluída.
Build.BuildNumber O nome da compilação concluída. Você pode especificar o formato de número de compilação que gera esse valor nas opções de pipeline.

Um uso típico dessa variável é torná-la parte do formato de rótulo, que você especifica na guia repositório.

Nota: Este valor pode conter espaço em branco ou outros caracteres de rótulo inválidos. Nesses casos, o formato do rótulo falha.

Essa variável tem escopo de agente. Ele pode ser usado como uma variável de ambiente em um script e como um parâmetro em uma tarefa de compilação, mas não como parte do número de compilação ou como uma tag de controle de versão.
Build.BuildUri O URI para a compilação. Por exemplo: vstfs:///Build/Build/1430.

Essa variável tem escopo de agente. Ele pode ser usado como uma variável de ambiente em um script e como um parâmetro em uma tarefa de compilação, mas não como parte do número de compilação ou como uma tag de controle de versão.
Build.BinariesDirectory O caminho local no agente que você pode usar como uma pasta de saída para binários compilados.

Por padrão, novos pipelines de compilação não são configurados para limpar esse diretório. Você pode definir sua compilação para limpá-la na guia Repositório.

Por exemplo: c:\agent_work\1\b.

Essa variável tem escopo de agente. Ele pode ser usado como uma variável de ambiente em um script e como um parâmetro em uma tarefa de compilação, mas não como parte do número de compilação ou como uma tag de controle de versão.
Build.DefinitionName O nome do pipeline de compilação.

Nota: Este valor pode conter espaço em branco ou outros caracteres de rótulo inválidos. Nesses casos, o formato do rótulo falhará.
Build.DefinitionVersion A versão do pipeline de compilação.
Build.QueuedBy Consulte "Como são definidas as variáveis de identidade?".

Nota: Este valor pode conter espaço em branco ou outros caracteres de rótulo inválidos. Nesses casos, o formato do rótulo falha.
Build.QueuedById Consulte "Como são definidas as variáveis de identidade?".
Build.Reason O evento que fez com que a compilação fosse executada.
  • Manual: Um usuário enfileirou manualmente a compilação.
  • IndividualCI: Integração contínua (CI) desencadeada por um push Git ou um check-in TFVC.
  • BatchedCI: Integração contínua (CI) acionada por um push Git ou um check-in TFVC, e as alterações em lote foram selecionadas.
  • Schedule: Gatilho agendado .
  • ValidateShelveset: Um usuário enfileirou manualmente a compilação de um conjunto de prateleiras TFVC específico.
  • CheckInShelveset: Gatilho de check-in fechado.
  • PullRequest: A compilação foi acionada por uma política de ramificação do Git que requer uma compilação.
  • BuildCompletion: A compilação foi acionada por outra compilação.
Consulte Criar gatilhos de pipeline, Melhorar a qualidade do código com políticas de filial.
Build.Repository.Clean O valor selecionado para Limpar nas configurações do repositório de origem.

Essa variável tem escopo de agente. Ele pode ser usado como uma variável de ambiente em um script e como um parâmetro em uma tarefa de compilação, mas não como parte do número de compilação ou como uma tag de controle de versão.
Build.Repository.LocalPath O caminho local no agente onde seus arquivos de código-fonte são baixados. Por exemplo: c:\agent_work\1\s

Por padrão, os novos pipelines de compilação atualizam apenas os arquivos alterados. Você pode modificar como os arquivos são baixados na guia Repositório.

Essa variável tem escopo de agente. Ele pode ser usado como uma variável de ambiente em um script e como um parâmetro em uma tarefa de compilação, mas não como parte do número de compilação ou como uma tag de controle de versão.

Essa variável é sinônimo de Build.SourcesDirectory.
Build.Repository.Name O nome do repositório.

Essa variável tem escopo de agente. Ele pode ser usado como uma variável de ambiente em um script e como um parâmetro em uma tarefa de compilação, mas não como parte do número de compilação ou como uma tag de controle de versão.
Build.Repository.Provider O tipo de repositório selecionado.
Essa variável tem escopo de agente. Ele pode ser usado como uma variável de ambiente em um script e como um parâmetro em uma tarefa de compilação, mas não como parte do número de compilação ou como uma tag de controle de versão.
Build.Repository.Tfvc.Workspace Definido se seu repositório é Team Foundation Version Control. O nome do espaço de trabalho TFVC usado pelo agente de compilação.

Por exemplo, se o Agent.BuildDirectory for c:\agent_work\12 e o Agent.Id for 8, o nome do espaço de trabalho poderá ser: ws_12_8.

Essa variável tem escopo de agente. Ele pode ser usado como uma variável de ambiente em um script e como um parâmetro em uma tarefa de compilação, mas não como parte do número de compilação ou como uma tag de controle de versão.
Build.Repository.Uri A URL do repositório. Por exemplo:
Essa variável tem escopo de agente. Ele pode ser usado como uma variável de ambiente em um script e como um parâmetro em uma tarefa de compilação, mas não como parte do número de compilação ou como uma tag de controle de versão.
Build.RequestedFor Consulte "Como são definidas as variáveis de identidade?".

Nota: Este valor pode conter espaço em branco ou outros caracteres de rótulo inválidos. Nesses casos, o formato do rótulo falha.
Build.RequestedForEmail Consulte "Como são definidas as variáveis de identidade?".
Build.RequestedForId Consulte "Como são definidas as variáveis de identidade?".
Build.SourceBranch A ramificação para a qual a compilação estava na fila. Alguns exemplos:
  • Ramo Git repo: refs/heads/main
  • Solicitação de pull de repositório Git: refs/pull/1/merge
  • Ramo de recompra TFVC: $/teamproject/main
  • TFVC repo check-in fechado: Gated_2016-06-06_05.20.51.4369;username@live.com
  • TFVC repo shelveset construir: myshelveset;username@live.com
Quando você usa essa variável no formato de número de compilação, os caracteres de barra (/) são substituídos por caracteres de sublinhado (_).

Nota: No TFVC, se você estiver executando uma compilação de check-in fechado ou construindo manualmente um conjunto de prateleiras, não poderá usar essa variável no formato de número de compilação.
Build.SourceBranchName O nome da ramificação para a qual a compilação foi enfileirada.
  • Git repo branch, pull request, or tag: O último segmento de caminho na ref. Por exemplo, neste refs/heads/main valor é main. Neste refs/heads/feature/tools valor é tools. Neste refs/tags/your-tag-name valor é your-tag-name.
  • Ramificação de repositório TFVC: O último segmento de caminho no caminho do servidor raiz para o espaço de trabalho. Por exemplo, neste $/teamproject/main valor é main.
  • TFVC repo gated check-in ou shelveset build é o nome do shelveset. Por exemplo, Gated_2016-06-06_05.20.51.4369;username@live.com ou myshelveset;username@live.com.
Nota: No TFVC, se você estiver executando uma compilação de check-in fechado ou construindo manualmente um conjunto de prateleiras, não poderá usar essa variável no formato de número de compilação.
Build.SourcesDirectory O caminho local no agente onde seus arquivos de código-fonte são baixados. Por exemplo: c:\agent_work\1\s.

Por padrão, os novos pipelines de compilação atualizam apenas os arquivos alterados. Você pode modificar como os arquivos são baixados na guia Repositório.

Essa variável tem escopo de agente. Ele pode ser usado como uma variável de ambiente em um script e como um parâmetro em uma tarefa de compilação, mas não como parte do número de compilação ou como uma tag de controle de versão.

Essa variável é sinônimo de Build.Repository.LocalPath.
Build.SourceVersion A última alteração de controle de versão incluída nesta compilação.
Essa variável tem escopo de agente. Ele pode ser usado como uma variável de ambiente em um script e como um parâmetro em uma tarefa de compilação, mas não como parte do número de compilação ou como uma tag de controle de versão.
Build.SourceVersionMessage O comentário da confirmação ou conjunto de alterações. Truncamos a mensagem para a primeira linha ou 200 caracteres, o que for mais curto.

Essa variável tem escopo de agente. Ele pode ser usado como uma variável de ambiente em um script e como um parâmetro em uma tarefa de compilação, mas não como parte do número de compilação ou como uma tag de controle de versão.

Nota: Esta variável está disponível no TFS 2015.4.

Nota: A variável Build.SourceVersionMessage não funciona com pipelines de compilação clássicos em repositórios Bitbucket quando Batch muda enquanto uma compilação está em andamento está habilitada.
Build.StagingDirectory O caminho local no agente para o qual todos os artefatos são copiados antes de serem enviados para o destino. Por exemplo: c:\agent_work\1\a.

Uma maneira típica de usar essa pasta é publicar seus artefatos de compilação com as tarefas Copiar arquivos e Publicar artefatos de compilação .

Nota: Build.ArtifactStagingDirectory e Build.StagingDirectory são intercambiáveis. Esse diretório é limpo antes de cada nova compilação, para que você não precise limpá-lo sozinho.

Consulte Artefatos no Azure Pipelines.

Essa variável tem escopo de agente. Ele pode ser usado como uma variável de ambiente em um script e como um parâmetro em uma tarefa de compilação, mas não como parte do número de compilação ou como uma tag de controle de versão.
Build.Repository.Git.SubmoduleCheckout O valor selecionado para os submódulos Checkout na guia repositório.

Essa variável tem escopo de agente. Ele pode ser usado como uma variável de ambiente em um script e como um parâmetro em uma tarefa de compilação, mas não como parte do número de compilação ou como uma tag de controle de versão.
Build.SourceTfvcShelveset Definido se seu repositório é Team Foundation Version Control.

Se você estiver executando uma compilação fechada ou uma compilação de prateleira, isso será definido com o nome do conjunto de prateleiras que você está construindo.

Nota: Essa variável produz um valor que é inválido para uso de compilação em um formato de número de compilação.
Build.TriggeredBy.BuildId Se a compilação foi acionada por outra compilação, essa variável é definida como BuildID da compilação de acionamento.

Essa variável tem escopo de agente. Ele pode ser usado como uma variável de ambiente em um script e como um parâmetro em uma tarefa de compilação, mas não como parte do número de compilação ou como uma tag de controle de versão.
Build.TriggeredBy.DefinitionId Se a compilação foi acionada por outra compilação, essa variável é definida como DefinitionID da compilação de acionamento.

Essa variável tem escopo de agente. Ele pode ser usado como uma variável de ambiente em um script e como um parâmetro em uma tarefa de compilação, mas não como parte do número de compilação ou como uma tag de controle de versão.
Build.TriggeredBy.DefinitionName Se a compilação foi acionada por outra compilação, essa variável é definida como o nome do pipeline de compilação de acionamento.

Essa variável tem escopo de agente. Ele pode ser usado como uma variável de ambiente em um script e como um parâmetro em uma tarefa de compilação, mas não como parte do número de compilação ou como uma tag de controle de versão.
Build.TriggeredBy.BuildNumber Se a compilação foi acionada por outra compilação, essa variável é definida como o número da compilação de acionamento.

Essa variável tem escopo de agente. Ele pode ser usado como uma variável de ambiente em um script e como um parâmetro em uma tarefa de compilação, mas não como parte do número de compilação ou como uma tag de controle de versão.
Build.TriggeredBy.ProjectID Se a compilação foi acionada por outra compilação, essa variável é definida como ID do projeto que contém a compilação de acionamento.

Essa variável tem escopo de agente. Ele pode ser usado como uma variável de ambiente em um script e como um parâmetro em uma tarefa de compilação, mas não como parte do número de compilação ou como uma tag de controle de versão.
Common.TestResultsDirectory O caminho local no agente onde os resultados do teste são criados. Por exemplo: c:\agent_work\1\TestResults.

Essa variável tem escopo de agente. Ele pode ser usado como uma variável de ambiente em um script e como um parâmetro em uma tarefa de compilação, mas não como parte do número de compilação ou como uma tag de controle de versão.

Variáveis de sistema (DevOps Server 2019)

Exemplo de script do PowerShell: acessar a API REST

Variável Description
System.AccessToken Use o token OAuth para acessar a API REST.

Use System.AccessToken de scripts YAML.

Essa variável tem escopo de agente. Ele pode ser usado como uma variável de ambiente em um script e como um parâmetro em uma tarefa de compilação, mas não como parte do número de compilação ou como uma tag de controle de versão.
System.CollectionId O GUID da coleção TFS ou da organização do Azure DevOps
System.DefaultWorkingDirectory O caminho local no agente onde seus arquivos de código-fonte são baixados. Por exemplo: c:\agent_work\1\s

Por padrão, os novos pipelines de compilação atualizam apenas os arquivos alterados. Você pode modificar como os arquivos são baixados na guia Repositório.

Essa variável tem escopo de agente. Ele pode ser usado como uma variável de ambiente em um script e como um parâmetro em uma tarefa de compilação, mas não como parte do número de compilação ou como uma tag de controle de versão.
System.DefinitionId A ID do pipeline de compilação.
System.HostType Defina como build se o pipeline for uma compilação. Para uma versão, os valores são deployment para um trabalho de grupo de implantação e release para um trabalho de agente.
System.PullRequest.IsFork Se a solicitação pull for de uma bifurcação do repositório, essa variável será definida como True. Caso contrário, é definido como False.
System.PullRequest.PullRequestId A ID da solicitação pull que causou essa compilação. Por exemplo: 17. (Esta variável é inicializada somente se a compilação foi executada devido a um Git PR afetado por uma política de filial.)
System.PullRequest.PullRequestNumber O número da solicitação pull que causou essa compilação. Essa variável é preenchida para solicitações pull do GitHub, que têm um ID de solicitação pull e um número de solicitação pull diferentes.
System.PullRequest.SourceBranch A ramificação que está sendo revisada em uma solicitação pull. Por exemplo: refs/heads/users/raisa/new-feature. (Esta variável é inicializada somente se a compilação foi executada devido a um Git PR afetado por uma política de filial.)
System.PullRequest.SourceCommitId A confirmação que está sendo revisada em uma solicitação pull. (Esta variável é inicializada somente se a compilação foi executada devido a um Git PR afetado por uma política de filial.)
System.PullRequest.SourceRepositoryURI A URL para o repositório que contém a solicitação pull. Por exemplo: https://dev.azure.com/ouraccount/_git/OurProject. (Esta variável é inicializada somente se a compilação foi executada devido a um Azure Repos Git PR afetado por uma política de filial. Ele não é inicializado para PRs do GitHub.)
System.PullRequest.TargetBranch A ramificação que é o destino de uma solicitação pull. Por exemplo: refs/heads/main. Essa variável será inicializada somente se a compilação for executada devido a um Git PR afetado por uma política de ramificação.
System.TeamFoundationCollectionUri O URI da coleção da fundação da equipe. Por exemplo: https://dev.azure.com/fabrikamfiber/.

Essa variável tem escopo de agente. Ele pode ser usado como uma variável de ambiente em um script e como um parâmetro em uma tarefa de compilação, mas não como parte do número de compilação ou como uma tag de controle de versão.
System.TeamProject O nome do projeto que contém essa compilação.
System.TeamProjectId A ID do projeto ao qual esta compilação pertence.
TF_BUILD Defina como True se o script estiver sendo executado por uma tarefa de compilação.

Essa variável tem escopo de agente. Ele pode ser usado como uma variável de ambiente em um script e como um parâmetro em uma tarefa de compilação, mas não como parte do número de compilação ou como uma tag de controle de versão.

Como são definidas as variáveis de identidade?

O valor depende do que causou a compilação e são específicos para repositórios do Azure Repos.

Se a compilação for acionada... Em seguida, os valores Build.QueuedBy e Build.QueuedById são baseados em... Em seguida, os valores Build.RequestedFor e Build.RequestedForId são baseados em...
No Git ou pelos gatilhos de integração contínua (CI) A identidade do sistema, por exemplo: [DefaultCollection]\Project Collection Service Accounts A pessoa que empurrou ou fez check-in das alterações.
No Git ou por uma compilação de política de ramificação. A identidade do sistema, por exemplo: [DefaultCollection]\Project Collection Service Accounts A pessoa que fez check-in das alterações.
Na CVFT por um gatilho de check-in fechado A pessoa que fez check-in das alterações. A pessoa que fez check-in das alterações.
No Git ou TFVC pelos gatilhos agendados A identidade do sistema, por exemplo: [DefaultCollection]\Project Collection Service Accounts A identidade do sistema, por exemplo: [DefaultCollection]\Project Collection Service Accounts
Porque você clicou no botão de compilação de fila O utilizador O utilizador