Compartir a través de


Usar variables predefinidas

Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2019

Las variables proporcionan una manera cómoda de obtener los bits de clave de los datos en distintas partes de la canalización. Aquí tiene una lista de variables predefinidas que están disponibles para su uso. Puede haber otras variables predefinidas, pero son principalmente para uso interno.

El sistema establece automáticamente estas variables y son de solo lectura. (Las excepciones son Build.Clean y System.Debug).

En las canalizaciones YAML, puede hacer referencia a variables predefinidas como variables de entorno. Por ejemplo, la variable Build.ArtifactStagingDirectory se convierte en la variable BUILD_ARTIFACTSTAGINGDIRECTORY.

En el caso de las canalizaciones clásicas, puede usar variables de versión en las tareas de implementación para compartir información común (por ejemplo, Nombre del entorno, Grupo de recursos, etc.).

Más información sobre cómo trabajar con variables.

Sugerencia

Puede pedir de Copilot para obtener ayuda con las variables. Para obtener más información, consulte Preguntar a Copilot para generar una fase con una condición basada en valores de variable.

Build.Clean

Se trata de una variable en desuso que modifica cómo el agente de compilación limpia el código fuente. Para información sobre cómo limpiar el código fuente, consulte Limpieza del repositorio local del agente.

System.AccessToken

System.AccessToken es una variable especial que contiene el token de seguridad utilizado por la compilación en ejecución.

En YAML, debe asignar explícitamente System.AccessToken a la canalización mediante una variable. Puede hacerlo en el nivel de paso o tarea. Por ejemplo, puede usar System.AccessToken para autenticarse con un registro de contenedor.

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

Puede configurar el ámbito predeterminado de System.AccessToken usando el ámbito de autorización de trabajos de compilación.

System.Debug

Si necesita registros más detallados para depurar problemas de canalización, defina System.Debug y establézcalo en true.

  1. Edite la canalización.

  2. Seleccione Variables.

  3. Agregue una variable nueva con el nombre System.Debug y el valor true.

    Establecimiento de Set System.Debug en true

  4. Guarde la variable nueva.

Al establecer System.Debug en true, se configuran registros detallados para todas las ejecuciones. También puede configurar registros detallados para una sola ejecución con la casilla Habilitar diagnósticos del sistema.

También puede establecer System.Debug en true como una variable en una canalización o plantilla.

variables:
  system.debug: 'true'

Cuando System.Debug se establece en true, una variable adicional denominada Agent.Diagnostic se establece en true. Cuando Agent.Diagnostic es true, el agente recopila más registros que se pueden usar para solucionar problemas de red para agentes autohospedados. Para obtener más información, consulte Diagnósticos de red para agentes autohospedados.

Nota:

La Agent.Diagnostic variable está disponible con agent v2.200.0 y versiones posteriores.

Para más información, consulte Revisión de registros para diagnosticar problemas de canalización.

Variables de agente (DevOps Services)

Nota:

Puede usar variables de agente como variables de entorno en los scripts y como parámetros en las tareas de compilación. No puede usarlas para personalizar el número de compilación o para aplicar una marca o etiqueta de control de versiones.

Variable Descripción
Agent.BuildDirectory La ruta de acceso local en el agente donde se crean todas las carpetas de una canalización de compilación determinada. Esta variable tiene el mismo valor que Pipeline.Workspace. Por ejemplo: /home/vsts/work/1.
Agent.ContainerMapping Asignación de nombres de recursos de contenedor en YAML a sus identificadores de Docker en tiempo de ejecución.

A continuación se muestra una tabla de ejemplo.
Agent.HomeDirectory Directorio en el que se va instalar el agente. Contiene el software del agente. Por ejemplo: c:\agent.
Agent.Id Id. del agente.
Agent.JobName Nombre del trabajo en ejecución. Normalmente será "Job" o "__default", pero en escenarios de configuración múltiple, será la configuración.
Agent.JobStatus Estado de la compilación.
  • Canceled
  • Failed
  • Succeeded
  • SucceededWithIssues (parcialmente correcto)
  • Skipped (último trabajo)
Se debe hacer referencia a la variable de entorno como AGENT_JOBSTATUS. El valor agent.jobstatus más antiguo está disponible por compatibilidad con versiones anteriores.
Agent.MachineName El nombre de la máquina en la que está instalado el agente.
Agent.Name Nombre del agente registrado con el grupo.

Si usa un agente autohospedado, este nombre lo especifica usted. Consulte Agentes.
Agent.OS Sistema operativo del host de agente. Los valores válidos son:
  • Windows_NT
  • Darwin
  • Linux
Si va a trabajar en un contenedor, el host de agente y el contenedor pueden ejecutar sistemas operativos diferentes.
Agent.OSArchitecture Arquitectura del procesador del sistema operativo del host de agente. Los valores válidos son:
  • X86
  • X64
  • ARM
Agent.TempDirectory Carpeta temporal que se limpia después de cada trabajo de canalización. Este directorio se usa en tareas como la tarea de la CLI de .NET Core para contener elementos temporales, como resultados de pruebas antes de que se publiquen.

Por ejemplo, /home/vsts/work/_temp para Ubuntu.
Agent.ToolsDirectory Directorio que se usa en tareas, como Instalador de herramientas de Node y Usar versión de Python para cambiar entre varias versiones de una herramienta.

Estas tareas agregan herramientas de este directorio a PATH para que se puedan usar en pasos de compilación posteriores.

Aprenda cómo administrar este directorio en un agente autohospedado.
Agent.WorkFolder Directorio de trabajo de este agente.

Por ejemplo: c:\agent_work.

Nota: No se garantiza que se pueda escribir en este directorio mediante tareas de canalización (por ejemplo, cuando se asigna a un contenedor)

Ejemplo de Agent.ContainerMapping:

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

Variables de compilación (DevOps Services)

Cuando se usa una variable en una plantilla que no está marcada como disponible en las plantillas, la variable no se representará. La variable no se representará porque no se puede acceder a su valor dentro del ámbito de la plantilla.

Variable Descripción ¿Está disponible en plantillas?
Build.ArtifactStagingDirectory Ruta de acceso local en el agente donde se copian los artefactos antes de insertarse en su destino. Por ejemplo: c:\agent_work\1\a.

Una manera habitual de usar esta carpeta es publicar los artefactos de compilación con las tareas Copiar archivos y Publicar artefactos de compilación.

Nota: Build.ArtifactStagingDirectory y Build.StagingDirectory son intercambiables. Este directorio se purga antes de cada nueva compilación, por lo que no tiene que limpiarlo.

Consulte Artefactos en Azure Pipelines.

Esta variable tiene ámbito de agente y se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones.
No
Build.BuildId Identificador del registro de la compilación completada. No
Build.BuildNumber Nombre de la compilación completada, también conocido como número de ejecución. Puede especificar lo que se incluye en este valor.

Un uso habitual de esta variable es convertirla en parte del formato de etiqueta, que se especifica en la pestaña Repositorio.

Nota: Este valor puede contener espacios en blanco u otros caracteres de etiqueta no válidos. En estos casos, no funcionará el formato de etiqueta.

Esta variable tiene ámbito de agente y se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones.
No
Build.BuildUri URI de la compilación. Por ejemplo: vstfs:///Build/Build/1430.

Esta variable tiene ámbito de agente y se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones.
No
Build.BinariesDirectory Ruta de acceso local del agente que puede usar como carpeta de salida para los archivos binarios compilados.

De forma predeterminada, las nuevas canalizaciones de compilación no están configuradas para limpiar este directorio. Puede definir la compilación para limpiarla en la pestaña Repositorio.

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

Esta variable tiene ámbito de agente y se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones.
No
Build.ContainerId Identificador del contenedor del artefacto. Al cargar un artefacto en la canalización, se agrega a un contenedor que es específico de ese artefacto en particular. No
Build.CronSchedule.DisplayName displayName de la programación cron que desencadenó la ejecución de la canalización. Esta variable solo se establece si un desencadenador programado de YAML desencadena la ejecución de la canalización. Para obtener más información, vea Definición de schedules.cron: variable Build.CronSchedule.DisplayName
Build.DefinitionName Nombre de la canalización de compilación.

Nota: Este valor puede contener espacios en blanco u otros caracteres de etiqueta no válidos. En estos casos, no funcionará el formato de etiqueta.
Build.DefinitionVersion Versión de la canalización de compilación.
Build.QueuedBy Consulte "¿Cómo se establecen las variables de identidad?".

Nota: Este valor puede contener espacios en blanco u otros caracteres de etiqueta no válidos. En estos casos, no funcionará el formato de etiqueta.
Build.QueuedById Consulte "¿Cómo se establecen las variables de identidad?".
Build.Reason Evento que provocó la ejecución de la compilación.
  • Manual: un usuario puso en cola manualmente la compilación.
  • IndividualCI: integración continua (CI) desencadenada por una inserción de Git o una inserción en el repositorio de TFVC.
  • BatchedCI: integración continua (CI) desencadenada por una inserción de Git o una inserción en el repositorio de TFVC, y se seleccionaron los cambios por lotes.
  • Schedule: desencadenador programado.
  • ValidateShelveset: un usuario puso en cola manualmente la compilación de un conjunto específico de cambios agregados pendientes de confirmación de TFVC.
  • CheckInShelveset: desencadenador de inserción en el repositorio validada.
  • PullRequest: la compilación se desencadenó mediante una directiva de rama de Git que requiere una compilación.
  • BuildCompletion: la compilación se desencadenó mediante otra compilación.
  • ResourceTrigger: la compilación se desencadenó mediante un desencadenador de recursos o se desencadenó mediante otra compilación.
Consulte Desencadenadores de canalización de compilación, Mejora de la Mejora de la calidad del código con directivas de rama.
Build.Repository.Clean Valor seleccionado para Limpiar en la configuración del repositorio de origen.

Esta variable tiene ámbito de agente y se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones.
No
Build.Repository.LocalPath Ruta de acceso local en el agente donde se descargan los archivos de código fuente. Por ejemplo: c:\agent_work\1\s.

De forma predeterminada, las nuevas canalizaciones de compilación actualizan solo los archivos modificados. Puede modificar cómo se descargan los archivos en la pestaña Repositorio.

Nota importante: Si solo restaura un repositorio de Git, esta ruta de acceso será la ruta de acceso exacta al código.

Si restaura varios repositorios, el comportamiento es el siguiente (y puede diferir del valor de la variable Build.SourcesDirectory):
  • Si el paso de restauración del repositorio self (principal) no tiene definida una ruta de acceso de restauración personalizada o la ruta de acceso de restauración es la ruta de acceso predeterminada $(Pipeline.Workspace)/s/&<RepoName> de restauración múltiple del repositorio self, el valor de esta variable revertirá a su valor predeterminado, que es $(Pipeline.Workspace)/s.
  • Si el paso de restauración del repositorio self (principal) tiene definida una ruta de acceso de restauración personalizada (y no es su ruta de acceso predeterminada de restauración múltiple), esta variable contendrá la ruta de acceso exacta al repositorio self.
Esta variable tiene ámbito de agente y se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones.
No
Build.Repository.ID Identificador único del repositorio.

Este valor no cambiará, incluso si el nombre del repositorio lo hace.

Esta variable tiene ámbito de agente y se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones.
No
Build.Repository.Name Nombre del repositorio desencadenante.

Esta variable tiene ámbito de agente y se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones.
No
Build.Repository.Provider Tipo del repositorio desencadenante.
Esta variable tiene ámbito de agente y se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones.
No
Build.Repository.Tfvc.Workspace Se define si el repositorio es Control de versiones de Team Foundation. Nombre del área de trabajo de TFVC usada por el agente de compilación.

Por ejemplo, si Agent.BuildDirectory es c:\agent_work\12 y Agent.Id es 8, el nombre del área de trabajo podría ser ws_12_8.

Esta variable tiene ámbito de agente y se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones.
No
Build.Repository.Uri Dirección URL del repositorio desencadenante. Por ejemplo:
Esta variable tiene ámbito de agente y se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones.
No
Build.RequestedFor Consulte "¿Cómo se establecen las variables de identidad?".

Nota: Este valor puede contener espacios en blanco u otros caracteres de etiqueta no válidos. En estos casos, no funcionará el formato de etiqueta.
Build.RequestedForEmail Consulte "¿Cómo se establecen las variables de identidad?".
Build.RequestedForId Consulte "¿Cómo se establecen las variables de identidad?".
Build.SourceBranch Rama del repositorio desencadenante para el que se puso en cola la compilación. He aquí algunos ejemplos:
  • Rama del repositorio de Git: refs/heads/main
  • Solicitud de incorporación de cambios del repositorio de Git: refs/pull/1/merge
  • Rama del repositorio de TFVC: $/teamproject/main
  • Inserción en el repositorio TFVC validada: Gated_2016-06-06_05.20.51.4369;username@live.com
  • Compilación del conjunto de cambios agregados pendientes de confirmación del repositorio de TFVC: myshelveset;username@live.com
  • Cuando una etiqueta desencadena la canalización: refs/tags/your-tag-name
Cuando se usa esta variable en el formato de número de compilación, los caracteres de barra diagonal (/) se reemplazan por caracteres de subrayado _).

Nota: En TFVC, si ejecuta una compilación de inserción en el repositorio validada o compila manualmente un conjunto de cambios agregados pendientes de confirmación, no puede usar esta variable en el formato de número de compilación.
Build.SourceBranchName Nombre de la rama en el repositorio desencadenante para el que se puso en cola la compilación.
  • Rama del repositorio de Git, solicitud de incorporación de cambios o etiqueta: "Último segmento de la ruta de acceso de la referencia". Por ejemplo, en refs/heads/main este valor es main. En refs/heads/feature/tools, este valor es tools. En refs/tags/your-tag-name, este valor es your-tag-name.
  • Rama del repositorio TFVC: último segmento de la ruta de acceso del servidor raíz del área de trabajo. Por ejemplo, en $/teamproject/main, este valor es main.
  • Inserción en el repositorio TFVC validada o compilación del conjunto de cambios agregados pendientes de confirmación es el nombre del conjunto de cambios agregados pendientes de confirmación. Por ejemplo, Gated_2016-06-06_05.20.51.4369;username@live.com o myshelveset;username@live.com.
Nota: En TFVC, si ejecuta una compilación de inserción en el repositorio validada o compila manualmente un conjunto de cambios agregados pendientes de confirmación, no puede usar esta variable en el formato de número de compilación.
Build.SourcesDirectory Ruta de acceso local en el agente donde se descargan los archivos de código fuente. Por ejemplo: c:\agent_work\1\s.

De forma predeterminada, las nuevas canalizaciones de compilación actualizan solo los archivos modificados.

Nota importante: Si solo restaura un repositorio de Git, esta ruta de acceso será la ruta de acceso exacta al código. Si restaura varios repositorios, volverá a su valor predeterminado, que es $(Pipeline.Workspace)/s, incluso si el repositorio self (principal) está restaurado en una ruta de acceso personalizada diferente de su ruta de acceso predeterminada $(Pipeline.Workspace)/s/<RepoName> de restauración múltiple (en este sentido, la variable difiere del comportamiento de la variable Build.Repository.LocalPath).

Esta variable tiene ámbito de agente y se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones.
No
Build.SourceVersion Último cambio de control de versiones del repositorio desencadenante que se incluye en esta compilación.
Esta variable tiene ámbito de agente y se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones.
Build.SourceVersionMessage Comentario de la confirmación o conjunto de cambios del repositorio desencadenante. Truncamos el mensaje a la primera línea o 200 caracteres, lo que sea más corto.

Build.SourceVersionMessage corresponde al mensaje de la confirmación de Build.SourceVersion. La confirmación de Build.SourceVersion de una compilación de solicitud de incorporación de cambios es la confirmación de combinación (no la confirmación de la rama de origen).

Esta variable tiene ámbito de agente y se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones.

Además, esta variable solo está disponible en el nivel de paso y no en los niveles de trabajo o fase (es decir, el mensaje no se extrae hasta que el trabajo se ha iniciado y el código se extrae).

Nota: Esta variable está disponible en TFS 2015.4.

Nota: La variable Build.SourceVersionMessage no funciona con canalizaciones de compilación clásicas en repositorios de Bitbucket cuando está habilitada la opción Cambios por lotes durante una compilación en curso.
No
Build.StagingDirectory Ruta de acceso local en el agente donde se copian los artefactos antes de insertarse en su destino. Por ejemplo: c:\agent_work\1\a.

Una manera habitual de usar esta carpeta es publicar los artefactos de compilación con las tareas Copiar archivos y Publicar artefactos de compilación.

Nota: Build.ArtifactStagingDirectory y Build.StagingDirectory son intercambiables. Este directorio se purga antes de cada nueva compilación, por lo que no tiene que limpiarlo.

Consulte Artefactos en Azure Pipelines.

Esta variable tiene ámbito de agente y se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones.
No
Build.Repository.Git.SubmoduleCheckout Valor que ha seleccionado en Extraer submódulos en la pestaña Repositorio. Con varios repositorios restaurados, este valor realiza un seguimiento de la configuración del repositorio desencadenante.

Esta variable tiene ámbito de agente y se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones.
No
Build.SourceTfvcShelveset Se define si el repositorio es Control de versiones de Team Foundation.

Si va a ejecutar una compilación validada o una compilación de conjunto de cambios agregados pendientes de confirmación, se establece en el nombre del conjunto de cambios agregados pendientes de confirmación que se va a compilar.

Nota: Esta variable produce un valor que no es válido para el uso de compilaciones en un formato de número de compilación.
No
Build.TriggeredBy.BuildId Si la compilación se desencadenó mediante otra compilación, esta variable se establece en el valor de BuildID de la compilación desencadenante. En las canalizaciones clásicas, esta variable se desencadena mediante un desencadenador de finalización de compilación.

Esta variable tiene ámbito de agente y se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones.

Si va a desencadenar una canalización YAML mediante resources, debe usar en su lugar las variables de recursos.
No
Build.TriggeredBy.DefinitionId Si la compilación se desencadenó mediante otra compilación, esta variable se establece en el valor de DefinitionID de la compilación desencadenante. En las canalizaciones clásicas, esta variable se desencadena mediante un desencadenador de finalización de compilación.

Esta variable tiene ámbito de agente y se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones.

Si va a desencadenar una canalización YAML mediante resources, debe usar en su lugar las variables de recursos.
No
Build.TriggeredBy.DefinitionName Si la compilación se desencadenó mediante otra compilación, esta variable se establece en el nombre de la canalización de compilación desencadenante. En las canalizaciones clásicas, esta variable se desencadena mediante un desencadenador de finalización de compilación.

Esta variable tiene ámbito de agente y se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones.

Si va a desencadenar una canalización YAML mediante resources, debe usar en su lugar las variables de recursos.
No
Build.TriggeredBy.BuildNumber Si la compilación se desencadenó mediante otra compilación, esta variable se establece en el número de la compilación desencadenante. En las canalizaciones clásicas, esta variable se desencadena mediante un desencadenador de finalización de compilación.

Esta variable tiene ámbito de agente y se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones.

Si va a desencadenar una canalización YAML mediante resources, debe usar en su lugar las variables de recursos.
No
Build.TriggeredBy.ProjectID Si la compilación se desencadenó mediante otra compilación, esta variable se establece en el identificador del proyecto que contiene la compilación desencadenante. En las canalizaciones clásicas, esta variable se desencadena mediante un desencadenador de finalización de compilación.

Esta variable tiene ámbito de agente y se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones.

Si va a desencadenar una canalización YAML mediante resources, debe usar en su lugar las variables de recursos.
No
Common.TestResultsDirectory Ruta de acceso local en el agente donde se crean los resultados de pruebas. Por ejemplo: c:\agent_work\1\TestResults.

Esta variable tiene ámbito de agente y se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones.
No

Variables de canalización (DevOps Services)

Variable Descripción
Pipeline.Workspace Directorio del área de trabajo de una canalización determinada. Esta variable tiene el mismo valor que Agent.BuildDirectory. Por ejemplo, /home/vsts/work/1.

Sugerencia

Si usa canalizaciones de versión clásicas, puede utilizar variables de artefactos y versiones clásicas para almacenar los datos y acceder a ellos en toda la canalización.

Variables de trabajo de implementación (DevOps Services)

Estas variables se limitan a un trabajo de implementación específico y solo se resolverán en el momento de ejecución del trabajo.

Variable Descripción
Environment.Name Nombre del entorno al que se dirige el trabajo de implementación para ejecutar los pasos de implementación y registrar el historial de implementación. Por ejemplo, smarthotel-dev.
Environment.Id Identificador del entorno al que se dirige el trabajo de implementación. Por ejemplo, 10.
Environment.ResourceName Nombre del recurso específico en el entorno al que se dirige el trabajo de implementación para ejecutar los pasos de implementación y registrar el historial de implementación. Por ejemplo, bookings, que es un espacio de nombres de Kubernetes que se ha agregado como un recurso al entorno smarthotel-dev.
Environment.ResourceId Identificador del recurso específico en el entorno al que se dirige el trabajo de implementación para ejecutar los pasos de implementación. Por ejemplo, 4.
Strategy.Name Nombre de la estrategia de implementación: canary, runOnce o rolling.
Strategy.CycleName Nombre del ciclo actual en una implementación. Las opciones son PreIteration, Iteration o PostIteration.

Variables del sistema (DevOps Services)

Cuando se usa una variable en una plantilla que no está marcada como disponible en las plantillas, la variable no se representará. La variable no se representará porque no se puede acceder a su valor dentro del ámbito de la plantilla.

Variable Descripción ¿Está disponible en plantillas?
System.AccessToken Use el token de OAuth para acceder a la API REST.

Use System.AccessToken desde scripts de YAML.

Esta variable tiene ámbito de agente y se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones.
System.CollectionId GUID de la colección de TFS o de la organización de Azure DevOps.
System.CollectionUri URI de la colección de TFS o de la organización de Azure DevOps. Por ejemplo: https://dev.azure.com/fabrikamfiber/.
System.DefaultWorkingDirectory Ruta de acceso local en el agente donde se descargan los archivos de código fuente. Por ejemplo: c:\agent_work\1\s

De forma predeterminada, las nuevas canalizaciones de compilación actualizan solo los archivos modificados. Puede modificar cómo se descargan los archivos en la pestaña Repositorio.

Esta variable tiene el ámbito del agente. Se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones.
System.DefinitionId Identificador de la canalización de compilación.
System.HostType Establézcala en build si la canalización es una compilación. En el caso de una versión, los valores son deployment para un trabajo de grupo de implementación, gates durante la evaluación de validaciones y release para otros trabajos (con agente y sin agente).
System.JobAttempt Se establece en 1 la primera vez que se intenta este trabajo se incrementa cada vez que se reintenta el trabajo. No
System.JobDisplayName Nombre legible dado a un trabajo. No
System.JobId Identificador único para un único intento de un solo trabajo. El valor es único para la canalización actual. No
System.JobName Nombre del trabajo, que normalmente se usa para expresar dependencias y acceder a variables de salida. No
System.OidcRequestUri Genere un idToken para la autenticación con Entra ID mediante OpenID Connect (OIDC). Más información.
System.PhaseAttempt Se establece en 1 la primera vez que se intenta esta fase y se incrementa cada vez que se reintenta el trabajo.

Nota: "Fase" es un concepto principalmente redundante que representa el tiempo de diseño de un trabajo (mientras que el trabajo era la versión en tiempo de ejecución de una fase). Hemos quitado principalmente el concepto de "fase" de Azure Pipelines. Los trabajos de matriz y de configuración múltiple son el único lugar donde "fase" sigue siendo distinto de "trabajo". Una fase puede crear instancias de varios trabajos, que solo difieren en sus entradas.
No
System.PhaseDisplayName Nombre legible asignado a una fase. No
System.PhaseName Identificador basado en cadenas de un trabajo, que normalmente se usa para expresar dependencias y acceder a variables de salida. No
System.PlanId Identificador basado en cadenas de una sola ejecución de canalización. No
System.PullRequest.IsFork Si la solicitud de incorporación de cambios procede de una bifurcación del repositorio, esta variable se establece en True.

De lo contrario, se establece en False.
System.PullRequest.PullRequestId Identificador de la solicitud de incorporación de cambios que provocó esta compilación. Por ejemplo: 17. (Esta variable solo se inicializa si la compilación se ejecutó debido a una solicitud de incorporación de cambios de Git afectada por una directiva de rama). No
System.PullRequest.PullRequestNumber Número de la solicitud de incorporación de cambios que provocó esta compilación. Esta variable se rellena para las solicitudes de incorporación de cambios de GitHub que tienen un identificador y un número de solicitud de incorporación de cambios diferentes. Esta variable solo está disponible en una canalización YAML si la solicitud de incorporación de cambios se ve afectada por una directiva de rama. No
System.PullRequest.targetBranchName Nombre de la rama de destino de una solicitud de incorporación de cambios. Esta variable se puede usar en canalizaciones para ejecutar condicionalmente tareas o pasos en función de la rama de destino de la solicitud de incorporación de cambios. Por ejemplo, es posible que quiera desencadenar un conjunto diferente de pruebas o herramientas de análisis de código en función de la rama en la que se combinan los cambios. No
System.PullRequest.SourceBranch Rama que se revisa en una solicitud de incorporación de cambios. Por ejemplo, refs/heads/users/raisa/new-feature para Azure Repos. (Esta variable solo se inicializa si la compilación se ejecutó debido a una solicitud de incorporación de cambios de Git afectada por una directiva de rama). Esta variable solo está disponible en una canalización YAML si la solicitud de incorporación de cambios se ve afectada por una directiva de rama. No
System.PullRequest.SourceCommitId El commit que se revisa en una solicitud de incorporación de cambios. (Esta variable solo se inicializa si la compilación se ejecutó debido a una solicitud de incorporación de cambios de Git afectada por una directiva de rama). Esta variable solo está disponible en una canalización YAML si la solicitud de incorporación de cambios se ve afectada por una directiva de rama.
System.PullRequest.SourceRepositoryURI Dirección URL del repositorio que contiene la solicitud de incorporación de cambios. Por ejemplo: https://dev.azure.com/ouraccount/_git/OurProject. No
System.PullRequest.TargetBranch Rama que es el destino de una solicitud de incorporación de cambios. Por ejemplo, refs/heads/main cuando el repositorio está en Azure Repos y main cuando el repositorio está en GitHub. Esta variable solo se inicializa si la compilación se ejecutó debido a una solicitud de incorporación de cambios de Git afectada por una directiva de rama. Esta variable solo está disponible en una canalización YAML si la solicitud de incorporación de cambios se ve afectada por una directiva de rama. No
System.StageAttempt Se establece en 1 la primera vez que se intenta esta fase y se incrementa cada vez que se reintenta la fase. No
System.StageDisplayName Nombre legible asignado a una fase. No
System.StageName Identificador basado en cadenas de una fase, que normalmente se usa para expresar dependencias y acceder a variables de salida. No
System.TeamFoundationCollectionUri URI de la colección de TFS o de la organización de Azure DevOps. Por ejemplo: https://dev.azure.com/fabrikamfiber/.

Esta variable tiene ámbito de agente y se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones.
System.TeamProject Nombre del proyecto que contiene esta compilación.
System.TeamProjectId Identificador del proyecto al que pertenece esta compilación.
System.TimelineId Identificador basado en cadenas de los detalles de ejecución y los registros de una sola ejecución de canalización. No
TF_BUILD Se establece en True si una tarea de compilación ejecuta el script.

Esta variable tiene ámbito de agente y se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones.
No

Variables de comprobaciones (DevOps Services)

Variable Descripción
Checks.StageAttempt Se establece en 1 la primera vez que se intenta esta fase y se incrementa cada vez que se reintenta la fase.

Esta variable solo se puede usar dentro de una aprobación o comprobación de un entorno. Por ejemplo, puede usar $(Checks.StageAttempt) dentro de una comprobación de invocación de la API REST.

Agregue el intento de fase como parámetro.

Variables de agente (DevOps Server 2022)

Nota:

Puede usar variables de agente como variables de entorno en los scripts y como parámetros en las tareas de compilación. No puede usarlas para personalizar el número de compilación o para aplicar una marca o etiqueta de control de versiones.

Variable Descripción
Agent.BuildDirectory La ruta de acceso local en el agente donde se crean todas las carpetas de una canalización de compilación determinada. Esta variable tiene el mismo valor que Pipeline.Workspace. Por ejemplo: /home/vsts/work/1.
Agent.ContainerMapping Asignación de nombres de recursos de contenedor en YAML a sus identificadores de Docker en tiempo de ejecución. A continuación se muestra una tabla de ejemplo.
Agent.HomeDirectory Directorio en el que se va instalar el agente. Contiene el software del agente. Por ejemplo: c:\agent.
Agent.Id Id. del agente.
Agent.JobName Nombre del trabajo en ejecución. Normalmente será "Job" o "__default", pero en escenarios de configuración múltiple, será la configuración.
Agent.JobStatus Estado de la compilación.
  • Canceled
  • Failed
  • Succeeded
  • SucceededWithIssues (parcialmente correcto)
  • Skipped (último trabajo)
Se debe hacer referencia a la variable de entorno como AGENT_JOBSTATUS. El valor agent.jobstatus más antiguo está disponible por compatibilidad con versiones anteriores.
Agent.MachineName El nombre de la máquina en la que está instalado el agente.
Agent.Name Nombre del agente registrado con el grupo.

Si usa un agente autohospedado, este nombre lo especifica usted. Consulte Agentes.
Agent.OS Sistema operativo del host de agente. Los valores válidos son:
  • Windows_NT
  • Darwin
  • Linux
Si va a trabajar en un contenedor, el host de agente y el contenedor pueden ejecutar sistemas operativos diferentes.
Agent.OSArchitecture Arquitectura del procesador del sistema operativo del host de agente. Los valores válidos son:
  • X86
  • X64
  • ARM
Agent.TempDirectory Carpeta temporal que se limpia después de cada trabajo de canalización. Este directorio se usa en tareas como la tarea de la CLI de .NET Core para contener elementos temporales, como resultados de pruebas antes de que se publiquen.

Por ejemplo, /home/vsts/work/_temp para Ubuntu.
Agent.ToolsDirectory Directorio que se usa en tareas, como Instalador de herramientas de Node y Usar versión de Python para cambiar entre varias versiones de una herramienta.

Estas tareas agregan herramientas de este directorio a PATH para que se puedan usar en pasos de compilación posteriores.

Aprenda cómo administrar este directorio en un agente autohospedado.
Agent.WorkFolder Directorio de trabajo de este agente. Por ejemplo: c:\agent_work.

Nota: No se garantiza que se pueda escribir en este directorio mediante tareas de canalización (por ejemplo, cuando se asigna a un contenedor).

Ejemplo de Agent.ContainerMapping:

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

Variables de compilación (DevOps Server 2022)

Cuando se usa una variable en una plantilla que no está marcada como disponible en las plantillas, la variable no se representará. La variable no se representará porque no se puede acceder a su valor dentro del ámbito de la plantilla.

Variable Descripción ¿Está disponible en plantillas?
Build.ArtifactStagingDirectory Ruta de acceso local en el agente donde se copian los artefactos antes de insertarse en su destino. Por ejemplo: c:\agent_work\1\a.

Una manera habitual de usar esta carpeta es publicar los artefactos de compilación con las tareas Copiar archivos y Publicar artefactos de compilación.

Nota: Build.ArtifactStagingDirectory y Build.StagingDirectory son intercambiables. Este directorio se purga antes de cada nueva compilación, por lo que no tiene que limpiarlo.

Consulte Artefactos en Azure Pipelines.

Esta variable tiene ámbito de agente y se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones.
No
Build.BuildId Identificador del registro de la compilación completada. No
Build.BuildNumber Nombre de la compilación completada, también conocido como número de ejecución. Puede especificar lo que se incluye en este valor.

Un uso habitual de esta variable es convertirla en parte del formato de etiqueta, que se especifica en la pestaña Repositorio.

Nota: Este valor puede contener espacios en blanco u otros caracteres de etiqueta no válidos. En estos casos, no funcionará el formato de etiqueta.

Esta variable tiene ámbito de agente y se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones.
No
Build.BuildUri URI de la compilación. Por ejemplo: vstfs:///Build/Build/1430.

Esta variable tiene ámbito de agente y se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones.
No
Build.BinariesDirectory Ruta de acceso local del agente que puede usar como carpeta de salida para los archivos binarios compilados.

De forma predeterminada, las nuevas canalizaciones de compilación no están configuradas para limpiar este directorio. Puede definir la compilación para limpiarla en la pestaña Repositorio.

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

Esta variable tiene ámbito de agente y se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones.
No
Build.ContainerId Identificador del contenedor del artefacto. Al cargar un artefacto en la canalización, se agrega a un contenedor que es específico de ese artefacto en particular. No
Build.CronSchedule.DisplayName displayName de la programación cron que desencadenó la ejecución de la canalización. Esta variable solo se establece si un desencadenador programado de YAML desencadena la ejecución de la canalización. Para obtener más información, vea Definición de schedules.cron: variable Build.CronSchedule.DisplayName. Esta variable está disponible en Azure DevOps Server 2022.1 y versiones posteriores.
Build.DefinitionName Nombre de la canalización de compilación.

Nota: Este valor puede contener espacios en blanco u otros caracteres de etiqueta no válidos. En estos casos, no funcionará el formato de etiqueta.
Build.DefinitionVersion Versión de la canalización de compilación.
Build.QueuedBy Consulte "¿Cómo se establecen las variables de identidad?".

Nota: Este valor puede contener espacios en blanco u otros caracteres de etiqueta no válidos. En estos casos, no funcionará el formato de etiqueta.
Build.QueuedById Consulte "¿Cómo se establecen las variables de identidad?".
Build.Reason Evento que provocó la ejecución de la compilación.
  • Manual: un usuario puso en cola manualmente la compilación.
  • IndividualCI: integración continua (CI) desencadenada por una inserción de Git o una inserción en el repositorio de TFVC.
  • BatchedCI: integración continua (CI) desencadenada por una inserción de Git o una inserción en el repositorio de TFVC, y se seleccionaron los cambios por lotes.
  • Schedule: desencadenador programado.
  • ValidateShelveset: un usuario puso en cola manualmente la compilación de un conjunto específico de cambios agregados pendientes de confirmación de TFVC.
  • CheckInShelveset: desencadenador de inserción en el repositorio validada.
  • PullRequest: la compilación se desencadenó mediante una directiva de rama de Git que requiere una compilación.
  • BuildCompletion: la compilación se desencadenó mediante otra compilación.
  • ResourceTrigger: la compilación se desencadenó mediante un desencadenador de recursos o se desencadenó mediante otra compilación.
Consulte Desencadenadores de canalización de compilación, Mejora de la Mejora de la calidad del código con directivas de rama.
Build.Repository.Clean Valor seleccionado para Limpiar en la configuración del repositorio de origen.

Esta variable tiene ámbito de agente y se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones.
No
Build.Repository.LocalPath Ruta de acceso local en el agente donde se descargan los archivos de código fuente. Por ejemplo: c:\agent_work\1\s.

De forma predeterminada, las nuevas canalizaciones de compilación actualizan solo los archivos modificados. Puede modificar cómo se descargan los archivos en la pestaña Repositorio.

Nota importante: Si solo restaura un repositorio de Git, esta ruta de acceso será la ruta de acceso exacta al código. Si restaura varios repositorios, el comportamiento es el siguiente (y puede diferir del valor de la variable Build.SourcesDirectory):
  • Si el paso de restauración del repositorio self (principal) no tiene definida una ruta de acceso de restauración personalizada o la ruta de acceso de restauración es la ruta de acceso predeterminada $(Pipeline.Workspace)/s/<RepoName> de restauración múltiple del repositorio self, el valor de esta variable revertirá a su valor predeterminado, que es $(Pipeline.Workspace)/s.
  • Si el paso de restauración del repositorio self (principal) tiene definida una ruta de acceso de restauración personalizada (y no es su ruta de acceso predeterminada de restauración múltiple), esta variable contendrá la ruta de acceso exacta al repositorio self.
Esta variable tiene ámbito de agente y se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones.
No
Build.Repository.ID Identificador único del repositorio.

Este valor no cambiará, incluso si el nombre del repositorio lo hace.

Esta variable tiene ámbito de agente y se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones.
No
Build.Repository.Name Nombre del repositorio desencadenante.

Esta variable tiene ámbito de agente y se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones.
No
Build.Repository.Provider Tipo del repositorio desencadenante.
Esta variable tiene ámbito de agente y se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones.
No
Build.Repository.Tfvc.Workspace Se define si el repositorio es Control de versiones de Team Foundation. Nombre del área de trabajo de TFVC usada por el agente de compilación.

Por ejemplo, si Agent.BuildDirectory es c:\agent_work\12 y Agent.Id es 8, el nombre del área de trabajo podría ser ws_12_8.

Esta variable tiene ámbito de agente y se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones.
No
Build.Repository.Uri Dirección URL del repositorio desencadenante. Por ejemplo:Esta variable tiene ámbito de agente y se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones. No
Build.RequestedFor Consulte "¿Cómo se establecen las variables de identidad?".

Nota: Este valor puede contener espacios en blanco u otros caracteres de etiqueta no válidos. En estos casos, no funcionará el formato de etiqueta.
Build.RequestedForEmail Consulte "¿Cómo se establecen las variables de identidad?".
Build.RequestedForId Consulte "¿Cómo se establecen las variables de identidad?".
Build.SourceBranch Rama del repositorio desencadenante para el que se puso en cola la compilación. He aquí algunos ejemplos:
  • Rama del repositorio de Git: refs/heads/main
  • Solicitud de incorporación de cambios del repositorio de Git: refs/pull/1/merge
  • Rama del repositorio de TFVC: $/teamproject/main
  • Inserción en el repositorio TFVC validada: Gated_2016-06-06_05.20.51.4369;username@live.com
  • Compilación del conjunto de cambios agregados pendientes de confirmación del repositorio de TFVC: myshelveset;username@live.com
  • Cuando una etiqueta desencadena la canalización: refs/tags/your-tag-name
Cuando se usa esta variable en el formato de número de compilación, los caracteres de barra diagonal (/) se reemplazan por caracteres de subrayado _).

Nota: En TFVC, si ejecuta una compilación de inserción en el repositorio validada o compila manualmente un conjunto de cambios agregados pendientes de confirmación, no puede usar esta variable en el formato de número de compilación.
Build.SourceBranchName Nombre de la rama en el repositorio desencadenante para el que se puso en cola la compilación.
  • Rama del repositorio de Git, solicitud de incorporación de cambios o etiqueta: "Último segmento de la ruta de acceso de la referencia". Por ejemplo, en refs/heads/main este valor es main. En refs/heads/feature/tools, este valor es tools. En refs/tags/your-tag-name, este valor es your-tag-name.
  • Rama del repositorio TFVC: último segmento de la ruta de acceso del servidor raíz del área de trabajo. Por ejemplo, en $/teamproject/main, este valor es main.
  • Inserción en el repositorio TFVC validada o compilación del conjunto de cambios agregados pendientes de confirmación es el nombre del conjunto de cambios agregados pendientes de confirmación. Por ejemplo, Gated_2016-06-06_05.20.51.4369;username@live.com o myshelveset;username@live.com.
Nota: En TFVC, si ejecuta una compilación de inserción en el repositorio validada o compila manualmente un conjunto de cambios agregados pendientes de confirmación, no puede usar esta variable en el formato de número de compilación.
Build.SourcesDirectory Ruta de acceso local en el agente donde se descargan los archivos de código fuente. Por ejemplo: c:\agent_work\1\s.

De forma predeterminada, las nuevas canalizaciones de compilación actualizan solo los archivos modificados.

Nota importante: Si solo restaura un repositorio de Git, esta ruta de acceso será la ruta de acceso exacta al código. Si restaura varios repositorios, volverá a su valor predeterminado, que es $(Pipeline.Workspace)/s, incluso si el repositorio self (principal) está restaurado en una ruta de acceso personalizada diferente de su ruta de acceso predeterminada $(Pipeline.Workspace)/s/<RepoName> de restauración múltiple (en este sentido, la variable difiere del comportamiento de la variable Build.Repository.LocalPath).

Esta variable tiene ámbito de agente y se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones.
No
Build.SourceVersion Último cambio de control de versiones del repositorio desencadenante que se incluye en esta compilación.
Esta variable tiene ámbito de agente y se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones.
Build.SourceVersionMessage Comentario de la confirmación o conjunto de cambios del repositorio desencadenante. Truncamos el mensaje a la primera línea o 200 caracteres, lo que sea más corto.

Build.SourceVersionMessage corresponde al mensaje de la confirmación de Build.SourceVersion. La confirmación de Build.SourceVersion de una compilación de solicitud de incorporación de cambios es la confirmación de combinación (no la confirmación de la rama de origen).

Esta variable tiene ámbito de agente y se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones.

Además, esta variable solo está disponible en el nivel de paso y no en los niveles de trabajo o fase (es decir, el mensaje no se extrae hasta que el trabajo se ha iniciado y el código se extrae).

Nota: Esta variable está disponible en TFS 2015.4.

Nota: La variable Build.SourceVersionMessage no funciona con canalizaciones de compilación clásicas en repositorios de Bitbucket cuando está habilitada la opción Cambios por lotes durante una compilación en curso.
No
Build.StagingDirectory Ruta de acceso local en el agente donde se copian los artefactos antes de insertarse en su destino. Por ejemplo: c:\agent_work\1\a.

Una manera habitual de usar esta carpeta es publicar los artefactos de compilación con las tareas Copiar archivos y Publicar artefactos de compilación.

Nota: Build.ArtifactStagingDirectory y Build.StagingDirectory son intercambiables. Este directorio se purga antes de cada nueva compilación, por lo que no tiene que limpiarlo.

Consulte Artefactos en Azure Pipelines.

Esta variable tiene ámbito de agente y se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones.
No
Build.Repository.Git.SubmoduleCheckout Valor que ha seleccionado en Extraer submódulos en la pestaña Repositorio. Con varios repositorios restaurados, este valor realiza un seguimiento de la configuración del repositorio desencadenante.

Esta variable tiene ámbito de agente y se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones.
No
Build.SourceTfvcShelveset Se define si el repositorio es Control de versiones de Team Foundation.

Si va a ejecutar una compilación validada o una compilación de conjunto de cambios agregados pendientes de confirmación, se establece en el nombre del conjunto de cambios agregados pendientes de confirmación que se va a compilar.

Nota: Esta variable produce un valor que no es válido para el uso de compilaciones en un formato de número de compilación.
No
Build.TriggeredBy.BuildId Si la compilación se desencadenó mediante otra compilación, esta variable se establece en el valor de BuildID de la compilación desencadenante. En las canalizaciones clásicas, esta variable se desencadena mediante un desencadenador de finalización de compilación.

Esta variable tiene ámbito de agente y se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones.

Si va a desencadenar una canalización YAML mediante resources, debe usar en su lugar las variables de recursos.
No
Build.TriggeredBy.DefinitionId Si la compilación se desencadenó mediante otra compilación, esta variable se establece en el valor de DefinitionID de la compilación desencadenante. En las canalizaciones clásicas, esta variable se desencadena mediante un desencadenador de finalización de compilación.

Esta variable tiene ámbito de agente y se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones.

Si va a desencadenar una canalización YAML mediante resources, debe usar en su lugar las variables de recursos.
No
Build.TriggeredBy.DefinitionName Si la compilación se desencadenó mediante otra compilación, esta variable se establece en el nombre de la canalización de compilación desencadenante. En las canalizaciones clásicas, esta variable se desencadena mediante un desencadenador de finalización de compilación.

Esta variable tiene ámbito de agente y se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones.

Si va a desencadenar una canalización YAML mediante resources, debe usar en su lugar las variables de recursos.
No
Build.TriggeredBy.BuildNumber Si la compilación se desencadenó mediante otra compilación, esta variable se establece en el número de la compilación desencadenante. En las canalizaciones clásicas, esta variable se desencadena mediante un desencadenador de finalización de compilación.

Esta variable tiene ámbito de agente y se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones.

Si va a desencadenar una canalización YAML mediante resources, debe usar en su lugar las variables de recursos.
No
Build.TriggeredBy.ProjectID Si la compilación se desencadenó mediante otra compilación, esta variable se establece en el identificador del proyecto que contiene la compilación desencadenante. En las canalizaciones clásicas, esta variable se desencadena mediante un desencadenador de finalización de compilación.

Esta variable tiene ámbito de agente y se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones.

Si va a desencadenar una canalización YAML mediante resources, debe usar en su lugar las variables de recursos.
No
Common.TestResultsDirectory Ruta de acceso local en el agente donde se crean los resultados de pruebas. Por ejemplo: c:\agent_work\1\TestResults.

Esta variable tiene ámbito de agente y se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones.
No

Variables de canalización (DevOps Server 2022)

Variable Descripción
Pipeline.Workspace Directorio del área de trabajo de una canalización determinada. Esta variable tiene el mismo valor que Agent.BuildDirectory. Por ejemplo, /home/vsts/work/1.

Sugerencia

Si usa canalizaciones de versión clásicas, puede utilizar variables de artefactos y versiones clásicas para almacenar los datos y acceder a ellos en toda la canalización.

Variables de trabajo de implementación (DevOps Server 2022)

Estas variables se limitan a un trabajo de implementación específico y solo se resolverán en el momento de ejecución del trabajo.

Variable Descripción
Environment.Name Nombre del entorno al que se dirige el trabajo de implementación para ejecutar los pasos de implementación y registrar el historial de implementación. Por ejemplo, smarthotel-dev.
Environment.Id Identificador del entorno al que se dirige el trabajo de implementación. Por ejemplo, 10.
Environment.ResourceName Nombre del recurso específico en el entorno al que se dirige el trabajo de implementación para ejecutar los pasos de implementación y registrar el historial de implementación. Por ejemplo, bookings, que es un espacio de nombres de Kubernetes que se ha agregado como un recurso al entorno smarthotel-dev.
Environment.ResourceId Identificador del recurso específico en el entorno al que se dirige el trabajo de implementación para ejecutar los pasos de implementación. Por ejemplo, 4.
Strategy.Name Nombre de la estrategia de implementación: canary, runOnce o rolling.
Strategy.CycleName Nombre del ciclo actual en una implementación. Las opciones son PreIteration, Iteration o PostIteration.

Variables del sistema (DevOps Server 2022)

Cuando se usa una variable en una plantilla que no está marcada como disponible en las plantillas, la variable no se representará. La variable no se representará porque no se puede acceder a su valor dentro del ámbito de la plantilla.

Variable Descripción ¿Está disponible en plantillas?
System.AccessToken Use el token de OAuth para acceder a la API REST.

Use System.AccessToken desde scripts de YAML.

Esta variable tiene ámbito de agente y se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones.
System.CollectionId GUID de la colección de TFS o de la organización de Azure DevOps.
System.CollectionUri URI de la colección de TFS o de la organización de Azure DevOps. Por ejemplo: https://dev.azure.com/fabrikamfiber/.
System.DefaultWorkingDirectory Ruta de acceso local en el agente donde se descargan los archivos de código fuente. Por ejemplo: c:\agent_work\1\s

De forma predeterminada, las nuevas canalizaciones de compilación actualizan solo los archivos modificados. Puede modificar cómo se descargan los archivos en la pestaña Repositorio.

Esta variable tiene el ámbito del agente. Se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones.
System.DefinitionId Identificador de la canalización de compilación.
System.HostType Establézcala en build si la canalización es una compilación. En el caso de una versión, los valores son deployment para un trabajo de grupo de implementación, gates durante la evaluación de validaciones y release para otros trabajos (con agente y sin agente).
System.JobAttempt Se establece en 1 la primera vez que se intenta este trabajo se incrementa cada vez que se reintenta el trabajo. No
System.JobDisplayName Nombre legible dado a un trabajo. No
System.JobId Identificador único para un único intento de un solo trabajo. El valor es único para la canalización actual. No
System.JobName Nombre del trabajo, que normalmente se usa para expresar dependencias y acceder a variables de salida. No
System.PhaseAttempt Se establece en 1 la primera vez que se intenta esta fase y se incrementa cada vez que se reintenta el trabajo.

Nota: "Fase" es un concepto principalmente redundante que representa el tiempo de diseño de un trabajo (mientras que el trabajo era la versión en tiempo de ejecución de una fase). Hemos quitado principalmente el concepto de "fase" de Azure Pipelines. Los trabajos de matriz y de configuración múltiple son el único lugar donde "fase" sigue siendo distinto de "trabajo". Una fase puede crear instancias de varios trabajos, que solo difieren en sus entradas.
No
System.PhaseDisplayName Nombre legible asignado a una fase. No
System.PhaseName Identificador basado en cadenas de un trabajo, que normalmente se usa para expresar dependencias y acceder a variables de salida. No
System.PlanId Identificador basado en cadenas de una sola ejecución de canalización. No
System.PullRequest.IsFork Si la solicitud de incorporación de cambios procede de una bifurcación del repositorio, esta variable se establece en True. De lo contrario, se establece en False.
System.PullRequest.PullRequestId Identificador de la solicitud de incorporación de cambios que provocó esta compilación. Por ejemplo: 17. (Esta variable solo se inicializa si la compilación se ejecutó debido a una solicitud de incorporación de cambios de Git afectada por una directiva de rama). No
System.PullRequest.PullRequestNumber Número de la solicitud de incorporación de cambios que provocó esta compilación. Esta variable se rellena para las solicitudes de incorporación de cambios de GitHub que tienen un identificador y un número de solicitud de incorporación de cambios diferentes. Esta variable solo está disponible en una canalización YAML si la solicitud de incorporación de cambios se ve afectada por una directiva de rama. No
System.PullRequest.targetBranchName Nombre de la rama de destino de una solicitud de incorporación de cambios. Esta variable se puede usar en canalizaciones para ejecutar condicionalmente tareas o pasos en función de la rama de destino de la solicitud de incorporación de cambios. Por ejemplo, es posible que quiera desencadenar un conjunto diferente de pruebas o herramientas de análisis de código en función de la rama en la que se combinan los cambios. No
System.PullRequest.SourceBranch Rama que se revisa en una solicitud de incorporación de cambios. Por ejemplo, refs/heads/users/raisa/new-feature para Azure Repos. (Esta variable solo se inicializa si la compilación se ejecutó debido a una solicitud de incorporación de cambios de Git afectada por una directiva de rama). Esta variable solo está disponible en una canalización YAML si la solicitud de incorporación de cambios se ve afectada por una directiva de rama. No
System.PullRequest.SourceRepositoryURI Dirección URL del repositorio que contiene la solicitud de incorporación de cambios. Por ejemplo: https://dev.azure.com/ouraccount/_git/OurProject. No
System.PullRequest.TargetBranch Rama que es el destino de una solicitud de incorporación de cambios. Por ejemplo, refs/heads/main cuando el repositorio está en Azure Repos y main cuando el repositorio está en GitHub. Esta variable solo se inicializa si la compilación se ejecutó debido a una solicitud de incorporación de cambios de Git afectada por una directiva de rama. Esta variable solo está disponible en una canalización YAML si la solicitud de incorporación de cambios se ve afectada por una directiva de rama. No
System.StageAttempt Se establece en 1 la primera vez que se intenta esta fase y se incrementa cada vez que se reintenta la fase. No
System.StageDisplayName Nombre legible asignado a una fase. No
System.StageName Identificador basado en cadenas de una fase, que normalmente se usa para expresar dependencias y acceder a variables de salida. No
System.TeamFoundationCollectionUri URI de la colección de TFS o de la organización de Azure DevOps. Por ejemplo: https://dev.azure.com/fabrikamfiber/.

Esta variable tiene ámbito de agente y se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones.
System.TeamProject Nombre del proyecto que contiene esta compilación.
System.TeamProjectId Identificador del proyecto al que pertenece esta compilación.
System.TimelineId Identificador basado en cadenas de los detalles de ejecución y los registros de una sola ejecución de canalización. No
TF_BUILD Se establece en True si una tarea de compilación ejecuta el script.

Esta variable tiene ámbito de agente y se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones.
No

Variables de comprobaciones (DevOps Server 2022)

Variable Descripción
Checks.StageAttempt Se establece en 1 la primera vez que se intenta esta fase y se incrementa cada vez que se reintenta la fase.
Esta variable solo se puede usar dentro de una aprobación o comprobación de un entorno. Por ejemplo, puede usar $(Checks.StageAttempt) dentro de una comprobación de invocación de la API REST.
Agregue el intento de fase como parámetro.

Variables de agente (DevOps Server 2020)

Nota:

Puede usar variables de agente como variables de entorno en los scripts y como parámetros en las tareas de compilación. No puede usarlas para personalizar el número de compilación o para aplicar una marca o etiqueta de control de versiones.

Variable Descripción
Agent.BuildDirectory La ruta de acceso local en el agente donde se crean todas las carpetas de una canalización de compilación determinada. Esta variable tiene el mismo valor que Pipeline.Workspace. Por ejemplo: /home/vsts/work/1.
Agent.HomeDirectory Directorio en el que se va instalar el agente. Contiene el software del agente. Por ejemplo: c:\agent.
Agent.Id Id. del agente.
Agent.JobName Nombre del trabajo en ejecución. Normalmente será "Job" o "__default", pero en escenarios de configuración múltiple, será la configuración.
Agent.JobStatus Estado de la compilación.
  • Canceled
  • Failed
  • Succeeded
  • SucceededWithIssues (parcialmente correcto)
  • Skipped (último trabajo)
Se debe hacer referencia a la variable de entorno como AGENT_JOBSTATUS. El valor agent.jobstatus más antiguo está disponible por compatibilidad con versiones anteriores.
Agent.MachineName El nombre de la máquina en la que está instalado el agente.
Agent.Name Nombre del agente registrado con el grupo.

Si usa un agente autohospedado, este nombre lo establece usted. Consulte Agentes.
Agent.OS Sistema operativo del host de agente. Los valores válidos son:
  • Windows_NT
  • Darwin
  • Linux
Si va a trabajar en un contenedor, el host de agente y el contenedor pueden ejecutar sistemas operativos diferentes.
Agent.OSArchitecture Arquitectura del procesador del sistema operativo del host de agente. Los valores válidos son:
  • X86
  • X64
  • ARM processor
Agent.TempDirectory Carpeta temporal que se limpia después de cada trabajo de canalización. Este directorio se usa en tareas como la tarea de la CLI de .NET Core para contener elementos temporales, como resultados de pruebas antes de que se publiquen.
Por ejemplo, /home/vsts/work/_temp para Ubuntu.
Agent.ToolsDirectory Directorio que se usa en tareas, como Instalador de herramientas de Node y Usar versión de Python para cambiar entre varias versiones de una herramienta.

Estas tareas agregan herramientas de este directorio a PATH para que se puedan usar en pasos de compilación posteriores.

Aprenda cómo administrar este directorio en un agente autohospedado.
Agent.WorkFolder Directorio de trabajo de este agente. Por ejemplo: c:\agent_work.

Nota: No se garantiza que se pueda escribir en este directorio mediante tareas de canalización (por ejemplo, cuando se asigna a un contenedor)

Variables de compilación (DevOps Server 2020)

Cuando se usa una variable en una plantilla que no está marcada como disponible en las plantillas, la variable no se representará. La variable no se representará porque no se puede acceder a su valor dentro del ámbito de la plantilla.

Variable Descripción ¿Está disponible en plantillas?
Build.ArtifactStagingDirectory Ruta de acceso local en el agente donde se copian los artefactos antes de insertarse en su destino. Por ejemplo: c:\agent_work\1\a.

Una manera habitual de usar esta carpeta es publicar los artefactos de compilación con las tareas Copiar archivos y Publicar artefactos de compilación.

Nota: Build.ArtifactStagingDirectory y Build.StagingDirectory son intercambiables. Este directorio se purga antes de cada nueva compilación, por lo que no tiene que limpiarlo.

Consulte Artefactos en Azure Pipelines.

Esta variable tiene ámbito de agente y se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones.
No
Build.BuildId Identificador del registro de la compilación completada. No
Build.BuildNumber Nombre de la compilación completada, también conocido como número de ejecución. Puede especificar lo que se incluye en este valor.

Un uso habitual de esta variable es convertirla en parte del formato de etiqueta, que se especifica en la pestaña Repositorio.

Nota: Este valor puede contener espacios en blanco u otros caracteres de etiqueta no válidos. En estos casos, no funcionará el formato de etiqueta.

Esta variable tiene ámbito de agente y se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones.
No
Build.BuildUri URI de la compilación. Por ejemplo: vstfs:///Build/Build/1430.

Esta variable tiene ámbito de agente y se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones.
No
Build.BinariesDirectory Ruta de acceso local del agente que puede usar como carpeta de salida para los archivos binarios compilados.

De forma predeterminada, las nuevas canalizaciones de compilación no están configuradas para limpiar este directorio. Puede definir la compilación para limpiarla en la pestaña Repositorio.

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

Esta variable tiene ámbito de agente y se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones.
No
Build.ContainerId Identificador del contenedor del artefacto. Al cargar un artefacto en la canalización, se agrega a un contenedor que es específico de ese artefacto en particular. No
Build.DefinitionName Nombre de la canalización de compilación.

Nota: Este valor puede contener espacios en blanco u otros caracteres de etiqueta no válidos. En estos casos, no funcionará el formato de etiqueta.
Build.DefinitionVersion Versión de la canalización de compilación.
Build.QueuedBy Consulte "¿Cómo se establecen las variables de identidad?".

Nota: Este valor puede contener espacios en blanco u otros caracteres de etiqueta no válidos. En estos casos, no funcionará el formato de etiqueta.
Build.QueuedById Consulte "¿Cómo se establecen las variables de identidad?".
Build.Reason Evento que provocó la ejecución de la compilación.
  • Manual: un usuario puso en cola manualmente la compilación.
  • IndividualCI: integración continua (CI) desencadenada por una inserción de Git o una inserción en el repositorio de TFVC.
  • BatchedCI: integración continua (CI) desencadenada por una inserción de Git o una inserción en el repositorio de TFVC, y se seleccionaron los cambios por lotes.
  • Schedule: desencadenador programado.
  • ValidateShelveset: un usuario puso en cola manualmente la compilación de un conjunto específico de cambios agregados pendientes de confirmación de TFVC.
  • CheckInShelveset: desencadenador de inserción en el repositorio validada.
  • PullRequest: la compilación se desencadenó mediante una directiva de rama de Git que requiere una compilación.
  • BuildCompletion: la compilación se desencadenó mediante otra compilación.
  • ResourceTrigger: la compilación se desencadenó mediante un desencadenador de recursos o se desencadenó mediante otra compilación.
Consulte Desencadenadores de canalización de compilación, Mejora de la Mejora de la calidad del código con directivas de rama.
Build.Repository.Clean Valor seleccionado para Limpiar en la configuración del repositorio de origen.

Esta variable tiene ámbito de agente y se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones.
No
Build.Repository.LocalPath Ruta de acceso local en el agente donde se descargan los archivos de código fuente. Por ejemplo: c:\agent_work\1\s.

De forma predeterminada, las nuevas canalizaciones de compilación actualizan solo los archivos modificados. Puede modificar cómo se descargan los archivos en la pestaña Repositorio.

Nota importante: Si solo restaura un repositorio de Git, esta ruta de acceso será la ruta de acceso exacta al código.

Si restaura varios repositorios, el comportamiento es el siguiente (y puede diferir del valor de la variable Build.SourcesDirectory):
  • Si el paso de restauración del repositorio self (principal) no tiene definida una ruta de acceso de restauración personalizada o la ruta de acceso de restauración es la ruta de acceso predeterminada $(Pipeline.Workspace)/s/&lt;RepoName&gt; de restauración múltiple del repositorio self, el valor de esta variable revertirá a su valor predeterminado, que es $(Pipeline.Workspace)/s.
  • Si el paso de restauración del repositorio self (principal) tiene definida una ruta de acceso de restauración personalizada (y no es su ruta de acceso predeterminada de restauración múltiple), esta variable contendrá la ruta de acceso exacta al repositorio self.
Esta variable tiene ámbito de agente y se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones.
No
Build.Repository.ID Identificador único del repositorio.

Este valor no cambiará, incluso si el nombre del repositorio lo hace.

Esta variable tiene ámbito de agente y se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones.
No
Build.Repository.Name Nombre del repositorio desencadenante.

Esta variable tiene ámbito de agente y se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones.
No
Build.Repository.Provider Tipo del repositorio desencadenante.
Esta variable tiene ámbito de agente y se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones.
No
Build.Repository.Tfvc.Workspace Se define si el repositorio es Control de versiones de Team Foundation. Nombre del área de trabajo de TFVC usada por el agente de compilación.

Por ejemplo, si Agent.BuildDirectory es c:\agent_work\12 y Agent.Id es 8, el nombre del área de trabajo podría ser ws_12_8.

Esta variable tiene ámbito de agente y se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones.
No
Build.Repository.Uri Dirección URL del repositorio desencadenante. Por ejemplo:
Esta variable tiene ámbito de agente y se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones.
No
Build.RequestedFor Consulte "¿Cómo se establecen las variables de identidad?".

Nota: Este valor puede contener espacios en blanco u otros caracteres de etiqueta no válidos. En estos casos, no funcionará el formato de etiqueta.
Build.RequestedForEmail Consulte "¿Cómo se establecen las variables de identidad?".
Build.RequestedForId Consulte "¿Cómo se establecen las variables de identidad?".
Build.SourceBranch Rama del repositorio desencadenante para el que se puso en cola la compilación. He aquí algunos ejemplos:
  • Rama del repositorio de Git: refs/heads/main
  • Solicitud de incorporación de cambios del repositorio de Git: refs/pull/1/merge
  • Rama del repositorio de TFVC: $/teamproject/main
  • Inserción en el repositorio TFVC validada: Gated_2016-06-06_05.20.51.4369;username@live.com
  • Compilación del conjunto de cambios agregados pendientes de confirmación del repositorio de TFVC: myshelveset;username@live.com
  • Cuando una etiqueta desencadena la canalización: refs/tags/your-tag-name
Cuando se usa esta variable en el formato de número de compilación, los caracteres de barra diagonal (/) se reemplazan por caracteres de subrayado _).

Nota: En TFVC, si ejecuta una compilación de inserción en el repositorio validada o compila manualmente un conjunto de cambios agregados pendientes de confirmación, no puede usar esta variable en el formato de número de compilación.
Build.SourceBranchName Nombre de la rama en el repositorio desencadenante para el que se puso en cola la compilación.
  • Rama del repositorio de Git, solicitud de incorporación de cambios o etiqueta: "Último segmento de la ruta de acceso de la referencia". Por ejemplo, en refs/heads/main este valor es main. En refs/heads/feature/tools, este valor es tools. En refs/tags/your-tag-name, este valor es your-tag-name.
  • Rama del repositorio TFVC: último segmento de la ruta de acceso del servidor raíz del área de trabajo. Por ejemplo, en $/teamproject/main, este valor es main.
  • Inserción en el repositorio TFVC validada o compilación del conjunto de cambios agregados pendientes de confirmación es el nombre del conjunto de cambios agregados pendientes de confirmación. Por ejemplo, Gated_2016-06-06_05.20.51.4369;username@live.com o myshelveset;username@live.com.
Nota: En TFVC, si ejecuta una compilación de inserción en el repositorio validada o compila manualmente un conjunto de cambios agregados pendientes de confirmación, no puede usar esta variable en el formato de número de compilación.
Build.SourcesDirectory Ruta de acceso local en el agente donde se descargan los archivos de código fuente. Por ejemplo: c:\agent_work\1\s.

De forma predeterminada, las nuevas canalizaciones de compilación actualizan solo los archivos modificados.

Nota importante: Si solo restaura un repositorio de Git, esta ruta de acceso será la ruta de acceso exacta al código. Si restaura varios repositorios, volverá a su valor predeterminado, que es $(Pipeline.Workspace)/s, incluso si el repositorio self (principal) está restaurado en una ruta de acceso personalizada diferente de su ruta de acceso predeterminada $(Pipeline.Workspace)/s/<RepoName> de restauración múltiple (en este sentido, la variable difiere del comportamiento de la variable Build.Repository.LocalPath).

Esta variable tiene ámbito de agente y se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones.
No
Build.SourceVersion Último cambio de control de versiones del repositorio desencadenante que se incluye en esta compilación.
Esta variable tiene ámbito de agente y se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones.
Build.SourceVersionMessage Comentario de la confirmación o conjunto de cambios del repositorio desencadenante. Truncamos el mensaje a la primera línea o 200 caracteres, lo que sea más corto.

Esta variable tiene ámbito de agente y se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones.

Además, esta variable solo está disponible en el nivel de paso y no en los niveles de trabajo o fase (es decir, el mensaje no se extrae hasta que el trabajo se ha iniciado y extraído el código del repositorio).

Nota: Esta variable está disponible en TFS 2015.4.

Nota: La variable Build.SourceVersionMessage no funciona con canalizaciones de compilación clásicas en repositorios de Bitbucket cuando está habilitada la opción Cambios por lotes durante una compilación en curso.
No
Build.StagingDirectory Ruta de acceso local en el agente donde se copian los artefactos antes de insertarse en su destino. Por ejemplo: c:\agent_work\1\a.

Una manera habitual de usar esta carpeta es publicar los artefactos de compilación con las tareas Copiar archivos y Publicar artefactos de compilación.

Nota: Build.ArtifactStagingDirectory y Build.StagingDirectory son intercambiables. Este directorio se purga antes de cada nueva compilación, por lo que no tiene que limpiarlo.

Consulte Artefactos en Azure Pipelines.

Esta variable tiene ámbito de agente y se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones.
No
Build.Repository.Git.SubmoduleCheckout Valor que ha seleccionado en Extraer submódulos en la pestaña Repositorio. Con varios repositorios restaurados, este valor realiza un seguimiento de la configuración del repositorio desencadenante.

Esta variable tiene ámbito de agente y se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones.
No
Build.SourceTfvcShelveset Se define si el repositorio es Control de versiones de Team Foundation.

Si va a ejecutar una compilación validada o una compilación de conjunto de cambios agregados pendientes de confirmación, se establece en el nombre del conjunto de cambios agregados pendientes de confirmación que se va a compilar.

Nota: Esta variable produce un valor que no es válido para el uso de compilaciones en un formato de número de compilación.
No
Build.TriggeredBy.BuildId Si la compilación se desencadenó mediante otra compilación, esta variable se establece en el valor de BuildID de la compilación desencadenante. En las canalizaciones clásicas, esta variable se desencadena mediante un desencadenador de finalización de compilación.

Esta variable tiene ámbito de agente y se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones.
No
Build.TriggeredBy.DefinitionId Si la compilación se desencadenó mediante otra compilación, esta variable se establece en el valor de DefinitionID de la compilación desencadenante. En las canalizaciones clásicas, esta variable se desencadena mediante un desencadenador de finalización de compilación.

Esta variable tiene ámbito de agente y se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones.
No
Build.TriggeredBy.DefinitionName Si la compilación se desencadenó mediante otra compilación, esta variable se establece en el nombre de la canalización de compilación desencadenante. En las canalizaciones clásicas, esta variable se desencadena mediante un desencadenador de finalización de compilación.

Esta variable tiene ámbito de agente y se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones.
No
Build.TriggeredBy.BuildNumber Si la compilación se desencadenó mediante otra compilación, esta variable se establece en el número de la compilación desencadenante. En las canalizaciones clásicas, esta variable se desencadena mediante un desencadenador de finalización de compilación.

Esta variable tiene ámbito de agente y se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones.
No
Build.TriggeredBy.ProjectID Si la compilación se desencadenó mediante otra compilación, esta variable se establece en el identificador del proyecto que contiene la compilación desencadenante. En las canalizaciones clásicas, esta variable se desencadena mediante un desencadenador de finalización de compilación.

Esta variable tiene ámbito de agente y se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones.
No
Common.TestResultsDirectory Ruta de acceso local en el agente donde se crean los resultados de pruebas. Por ejemplo: c:\agent_work\1\TestResults.

Esta variable tiene ámbito de agente y se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones.
No

Variables de canalización (DevOps Server 2020)

Variable Descripción
Pipeline.Workspace Directorio del área de trabajo de una canalización determinada. Esta variable tiene el mismo valor que Agent.BuildDirectory. Por ejemplo, /home/vsts/work/1.

Variables de trabajo de implementación (DevOps Server 2020)

Estas variables se limitan a un trabajo de implementación específico y solo se resolverán en el momento de ejecución del trabajo.

Variable Descripción
Environment.Name Nombre del entorno al que se dirige el trabajo de implementación para ejecutar los pasos de implementación y registrar el historial de implementación. Por ejemplo, smarthotel-dev.
Environment.Id Identificador del entorno al que se dirige el trabajo de implementación. Por ejemplo, 10.
Environment.ResourceName Nombre del recurso específico en el entorno al que se dirige el trabajo de implementación para ejecutar los pasos de implementación y registrar el historial de implementación. Por ejemplo, bookings, que es un espacio de nombres de Kubernetes que se ha agregado como un recurso al entorno smarthotel-dev.
Environment.ResourceId Identificador del recurso específico en el entorno al que se dirige el trabajo de implementación para ejecutar los pasos de implementación. Por ejemplo, 4.

Variables del sistema (DevOps Server 2020)

Cuando se usa una variable en una plantilla que no está marcada como disponible en las plantillas, la variable no se representará. La variable no se representará porque no se puede acceder a su valor dentro del ámbito de la plantilla.

Variable Descripción ¿Está disponible en plantillas?
System.AccessToken Use el token de OAuth para acceder a la API REST.

Use System.AccessToken desde scripts de YAML.

Esta variable tiene ámbito de agente y se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones.
System.CollectionId GUID de la colección de TFS o de la organización de Azure DevOps.
System.CollectionUri URI de la colección de Team Foundation Server de cadena.
System.DefaultWorkingDirectory Ruta de acceso local en el agente donde se descargan los archivos de código fuente. Por ejemplo: c:\agent_work\1\s

De forma predeterminada, las nuevas canalizaciones de compilación actualizan solo los archivos modificados. Puede modificar cómo se descargan los archivos en la pestaña Repositorio.

Esta variable tiene el ámbito del agente. Se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones.
No
System.DefinitionId Identificador de la canalización de compilación.
System.HostType Establézcala en build si la canalización es una compilación. En el caso de una versión, los valores son deployment para un trabajo de grupo de implementación, gates durante la evaluación de validaciones y release para otros trabajos (con agente y sin agente).
System.JobAttempt Se establece en 1 la primera vez que se intenta este trabajo se incrementa cada vez que se reintenta el trabajo. No
System.JobDisplayName Nombre legible dado a un trabajo. No
System.JobId Identificador único para un único intento de un solo trabajo. El valor es único para la canalización actual. No
System.JobName Nombre del trabajo, que normalmente se usa para expresar dependencias y acceder a variables de salida. No
System.PhaseAttempt Se establece en 1 la primera vez que se intenta esta fase y se incrementa cada vez que se reintenta el trabajo.

Nota: "Fase" es un concepto principalmente redundante que representa el tiempo de diseño de un trabajo (mientras que el trabajo era la versión en tiempo de ejecución de una fase). Hemos quitado principalmente el concepto de "fase" de Azure Pipelines. Los trabajos de matriz y de configuración múltiple son el único lugar donde "fase" sigue siendo distinto de "trabajo". Una fase puede crear instancias de varios trabajos, que solo difieren en sus entradas.
No
System.PhaseDisplayName Nombre legible asignado a una fase. No
System.PhaseName Identificador basado en cadenas de un trabajo, que normalmente se usa para expresar dependencias y acceder a variables de salida. No
System.StageAttempt Se establece en 1 la primera vez que se intenta esta fase y se incrementa cada vez que se reintenta el trabajo. No
System.StageDisplayName Nombre legible asignado a una fase. No
System.StageName Identificador basado en cadenas de una fase, que normalmente se usa para expresar dependencias y acceder a variables de salida.
System.PullRequest.IsFork Si la solicitud de incorporación de cambios procede de una bifurcación del repositorio, esta variable se establece en True. De lo contrario, se establece en False.
System.PullRequest.PullRequestId Identificador de la solicitud de incorporación de cambios que provocó esta compilación. Por ejemplo: 17. (Esta variable solo se inicializa si la compilación se ejecutó debido a una solicitud de incorporación de cambios de Git afectada por una directiva de rama). No
System.PullRequest.PullRequestNumber Número de la solicitud de incorporación de cambios que provocó esta compilación. Esta variable se rellena para las solicitudes de incorporación de cambios de GitHub que tienen un identificador y un número de solicitud de incorporación de cambios diferentes. Esta variable solo está disponible en una canalización YAML si la solicitud de incorporación de cambios se ve afectada por una directiva de rama. No
System.PullRequest.targetBranchName Nombre de la rama de destino de una solicitud de incorporación de cambios. Esta variable se puede usar en canalizaciones para ejecutar condicionalmente tareas o pasos en función de la rama de destino de la solicitud de incorporación de cambios. Por ejemplo, es posible que quiera desencadenar un conjunto diferente de pruebas o herramientas de análisis de código en función de la rama en la que se combinan los cambios. No
System.PullRequest.SourceBranch Rama que se revisa en una solicitud de incorporación de cambios. Por ejemplo: refs/heads/users/raisa/new-feature. (Esta variable solo se inicializa si la compilación se ejecutó debido a una solicitud de incorporación de cambios de Git afectada por una directiva de rama). Esta variable solo está disponible en una canalización YAML si la solicitud de incorporación de cambios se ve afectada por una directiva de rama. No
System.PullRequest.SourceCommitId El commit que se revisa en una solicitud de incorporación de cambios. (Esta variable solo se inicializa si la compilación se ejecutó debido a una solicitud de incorporación de cambios de Git afectada por una directiva de rama). Esta variable solo está disponible en una canalización YAML si la solicitud de incorporación de cambios se ve afectada por una directiva de rama.
System.PullRequest.SourceRepositoryURI Dirección URL del repositorio que contiene la solicitud de incorporación de cambios. Por ejemplo: https://dev.azure.com/ouraccount/_git/OurProject. No
System.PullRequest.TargetBranch Rama que es el destino de una solicitud de incorporación de cambios. Por ejemplo, refs/heads/main cuando el repositorio está en Azure Repos y main cuando el repositorio está en GitHub. Esta variable solo se inicializa si la compilación se ejecutó debido a una solicitud de incorporación de cambios de Git afectada por una directiva de rama. Esta variable solo está disponible en una canalización YAML si la solicitud de incorporación de cambios se ve afectada por una directiva de rama. No
System.TeamFoundationCollectionUri URI de la colección de Team Foundation. Por ejemplo: https://dev.azure.com/fabrikamfiber/.

Esta variable tiene ámbito de agente y se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones.
System.TeamProject Nombre del proyecto que contiene esta compilación.
System.TeamProjectId Identificador del proyecto al que pertenece esta compilación.
TF_BUILD Se establece en True si una tarea de compilación ejecuta el script.

Esta variable tiene ámbito de agente y se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones.
No

Variables de agente (DevOps Server 2019)

Nota:

Puede usar variables de agente como variables de entorno en los scripts y como parámetros en las tareas de compilación. No puede usarlas para personalizar el número de compilación o para aplicar una marca o etiqueta de control de versiones.

Variable Descripción
Agent.BuildDirectory La ruta de acceso local en el agente donde se crean todas las carpetas de una canalización de compilación determinada. Por ejemplo: c:\agent_work\1.
Agent.HomeDirectory Directorio en el que se va instalar el agente. Contiene el software del agente. Por ejemplo: c:\agent.
Agent.Id Id. del agente.
Agent.JobName Nombre del trabajo en ejecución. Normalmente será "Job" o "__default", pero en escenarios de configuración múltiple, será la configuración.
Agent.JobStatus Estado de la compilación.
  • Canceled
  • Failed
  • Succeeded
  • SucceededWithIssues (parcialmente correcto)
  • Skipped (último trabajo)
Se debe hacer referencia a la variable de entorno como AGENT_JOBSTATUS. El valor agent.jobstatus más antiguo está disponible por compatibilidad con versiones anteriores.
Agent.MachineName El nombre de la máquina en la que está instalado el agente.
Agent.Name Nombre del agente registrado con el grupo.

Si usa un agente autohospedado, este nombre lo establece usted. Consulte Agentes.
Agent.OS Sistema operativo del host de agente. Los valores válidos son:
  • Windows_NT
  • Darwin
  • Linux
Si va a trabajar en un contenedor, el host de agente y el contenedor pueden ejecutar sistemas operativos diferentes.
Agent.OSArchitecture Arquitectura del procesador del sistema operativo del host de agente. Los valores válidos son:
  • X86
  • X64
  • ARM processor
Agent.TempDirectory Carpeta temporal que se limpia después de cada trabajo de canalización. Este directorio se usa en tareas como la tarea de la CLI de .NET Core para contener elementos temporales, como resultados de pruebas antes de que se publiquen.
Agent.ToolsDirectory Directorio que se usa en tareas, como Instalador de herramientas de Node y Usar versión de Python para cambiar entre varias versiones de una herramienta.

Estas tareas agregan herramientas de este directorio a PATH para que se puedan usar en pasos de compilación posteriores.

Aprenda cómo administrar este directorio en un agente autohospedado.
Agent.WorkFolder Directorio de trabajo de este agente. Por ejemplo: c:\agent_work.

No se garantiza que se pueda escribir en este directorio mediante tareas de canalización (por ejemplo, cuando se asigna a un contenedor).

Variables de compilación (DevOps Server 2019)

Variable Descripción
Build.ArtifactStagingDirectory Ruta de acceso local en el agente donde se copian los artefactos antes de insertarse en su destino. Por ejemplo: c:\agent_work\1\a.

Una manera habitual de usar esta carpeta es publicar los artefactos de compilación con las tareas Copiar archivos y Publicar artefactos de compilación.

Nota: Build.ArtifactStagingDirectory y Build.StagingDirectory son intercambiables. Este directorio se purga antes de cada nueva compilación, por lo que no tiene que limpiarlo.

Consulte Artefactos en Azure Pipelines.

Esta variable tiene el ámbito del agente. Se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones.
Build.BuildId Identificador del registro de la compilación completada.
Build.BuildNumber Nombre de la compilación completada. Puede especificar el formato de número de compilación que genera este valor en las opciones de canalización.

Un uso habitual de esta variable es convertirla en parte del formato de etiqueta, que se especifica en la pestaña Repositorio.

Nota: Este valor puede contener espacios en blanco u otros caracteres de etiqueta no válidos. En estos casos, no funcionará el formato de etiqueta.

Esta variable tiene el ámbito del agente. Se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones.
Build.BuildUri URI de la compilación. Por ejemplo: vstfs:///Build/Build/1430.

Esta variable tiene el ámbito del agente. Se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones.
Build.BinariesDirectory Ruta de acceso local del agente que puede usar como carpeta de salida para los archivos binarios compilados.

De forma predeterminada, las nuevas canalizaciones de compilación no están configuradas para limpiar este directorio. Puede definir la compilación para limpiarla en la pestaña Repositorio.

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

Esta variable tiene el ámbito del agente. Se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones.
Build.DefinitionName Nombre de la canalización de compilación.

Nota: Este valor puede contener espacios en blanco u otros caracteres de etiqueta no válidos. En estos casos, no funcionará el formato de etiqueta.
Build.DefinitionVersion Versión de la canalización de compilación.
Build.QueuedBy Consulte "¿Cómo se establecen las variables de identidad?".

Nota: Este valor puede contener espacios en blanco u otros caracteres de etiqueta no válidos. En estos casos, no funcionará el formato de etiqueta.
Build.QueuedById Consulte "¿Cómo se establecen las variables de identidad?".
Build.Reason Evento que provocó la ejecución de la compilación.
  • Manual: un usuario puso en cola manualmente la compilación.
  • IndividualCI: integración continua (CI) desencadenada por una inserción de Git o una inserción en el repositorio de TFVC.
  • BatchedCI: integración continua (CI) desencadenada por una inserción de Git o una inserción en el repositorio de TFVC, y se seleccionaron los cambios por lotes.
  • Schedule: desencadenador programado.
  • ValidateShelveset: un usuario puso en cola manualmente la compilación de un conjunto específico de cambios agregados pendientes de confirmación de TFVC.
  • CheckInShelveset: desencadenador de inserción en el repositorio validada.
  • PullRequest: la compilación se desencadenó mediante una directiva de rama de Git que requiere una compilación.
  • BuildCompletion: la compilación se desencadenó mediante otra compilación.
Consulte Desencadenadores de canalización de compilación, Mejora de la Mejora de la calidad del código con directivas de rama.
Build.Repository.Clean Valor seleccionado para Limpiar en la configuración del repositorio de origen.

Esta variable tiene el ámbito del agente. Se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones.
Build.Repository.LocalPath Ruta de acceso local en el agente donde se descargan los archivos de código fuente. Por ejemplo: c:\agent_work\1\s

De forma predeterminada, las nuevas canalizaciones de compilación actualizan solo los archivos modificados. Puede modificar cómo se descargan los archivos en la pestaña Repositorio.

Esta variable tiene el ámbito del agente. Se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones.

Esta variable es sinónimo de Build.SourcesDirectory.
Build.Repository.Name El nombre del repositorio.

Esta variable tiene el ámbito del agente. Se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones.
Build.Repository.Provider Tipo del repositorio seleccionado.
Esta variable tiene el ámbito del agente. Se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones.
Build.Repository.Tfvc.Workspace Se define si el repositorio es Control de versiones de Team Foundation. Nombre del área de trabajo de TFVC usada por el agente de compilación.

Por ejemplo, si Agent.BuildDirectory es c:\agent_work\12 y Agent.Id es 8, el nombre del área de trabajo podría ser ws_12_8.

Esta variable tiene el ámbito del agente. Se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones.
Build.Repository.Uri Dirección URL del repositorio. Por ejemplo:
Esta variable tiene el ámbito del agente. Se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones.
Build.RequestedFor Consulte "¿Cómo se establecen las variables de identidad?".

Nota: Este valor puede contener espacios en blanco u otros caracteres de etiqueta no válidos. En estos casos, no funcionará el formato de etiqueta.
Build.RequestedForEmail Consulte "¿Cómo se establecen las variables de identidad?".
Build.RequestedForId Consulte "¿Cómo se establecen las variables de identidad?".
Build.SourceBranch Rama para la que se puso en cola la compilación. He aquí algunos ejemplos:
  • Rama del repositorio de Git: refs/heads/main
  • Solicitud de incorporación de cambios del repositorio de Git: refs/pull/1/merge
  • Rama del repositorio de TFVC: $/teamproject/main
  • Inserción en el repositorio TFVC validada: Gated_2016-06-06_05.20.51.4369;username@live.com
  • Compilación del conjunto de cambios agregados pendientes de confirmación del repositorio de TFVC: myshelveset;username@live.com
Cuando se usa esta variable en el formato de número de compilación, los caracteres de barra diagonal (/) se reemplazan por caracteres de subrayado (_).

Nota: En TFVC, si ejecuta una compilación de inserción en el repositorio validada o compila manualmente un conjunto de cambios agregados pendientes de confirmación, no puede usar esta variable en el formato de número de compilación.
Build.SourceBranchName Nombre de la rama para la que se puso en cola la compilación.
  • Rama del repositorio de Git, solicitud de incorporación de cambios o etiqueta: "Último segmento de la ruta de acceso de la referencia". Por ejemplo, en refs/heads/main este valor es main. En refs/heads/feature/tools, este valor es tools. En refs/tags/your-tag-name, este valor es your-tag-name.
  • Rama del repositorio TFVC: último segmento de la ruta de acceso del servidor raíz del área de trabajo. Por ejemplo, en $/teamproject/main este valor es main.
  • Inserción en el repositorio TFVC validada o compilación del conjunto de cambios agregados pendientes de confirmación es el nombre del conjunto de cambios agregados pendientes de confirmación. Por ejemplo, Gated_2016-06-06_05.20.51.4369;username@live.com o myshelveset;username@live.com.
Nota: En TFVC, si ejecuta una compilación de inserción en el repositorio validada o compila manualmente un conjunto de cambios agregados pendientes de confirmación, no puede usar esta variable en el formato de número de compilación.
Build.SourcesDirectory Ruta de acceso local en el agente donde se descargan los archivos de código fuente. Por ejemplo: c:\agent_work\1\s.

De forma predeterminada, las nuevas canalizaciones de compilación actualizan solo los archivos modificados. Puede modificar cómo se descargan los archivos en la pestaña Repositorio.

Esta variable tiene el ámbito del agente. Se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones.

Esta variable es sinónimo de Build.Repository.LocalPath.
Build.SourceVersion El cambio de control de versiones más reciente que se incluye en esta compilación.
Esta variable tiene el ámbito del agente. Se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones.
Build.SourceVersionMessage Comentario de la confirmación o del conjunto de cambios. Truncamos el mensaje a la primera línea o 200 caracteres, lo que sea más corto.

Esta variable tiene el ámbito del agente. Se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones.

Nota: Esta variable está disponible en TFS 2015.4.

Nota: La variable Build.SourceVersionMessage no funciona con canalizaciones de compilación clásicas en repositorios de Bitbucket cuando está habilitada la opción Cambios por lotes durante una compilación en curso.
Build.StagingDirectory Ruta de acceso local en el agente donde se copian los artefactos antes de insertarse en su destino. Por ejemplo: c:\agent_work\1\a.

Una manera habitual de usar esta carpeta es publicar los artefactos de compilación con las tareas Copiar archivos y Publicar artefactos de compilación.

Nota: Build.ArtifactStagingDirectory y Build.StagingDirectory son intercambiables. Este directorio se purga antes de cada nueva compilación, por lo que no tiene que limpiarlo.

Consulte Artefactos en Azure Pipelines.

Esta variable tiene el ámbito del agente. Se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones.
Build.Repository.Git.SubmoduleCheckout El valor que ha seleccionado para Extraer submódulos en la pestaña Repositorio.

Esta variable tiene el ámbito del agente. Se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones.
Build.SourceTfvcShelveset Se define si el repositorio es Control de versiones de Team Foundation.

Si va a ejecutar una compilación validada o una compilación de conjunto de cambios agregados pendientes de confirmación, se establece en el nombre del conjunto de cambios agregados pendientes de confirmación que se va a compilar.

Nota: Esta variable produce un valor que no es válido para el uso de compilaciones en un formato de número de compilación.
Build.TriggeredBy.BuildId Si la compilación se desencadenó mediante otra compilación, esta variable se establece en el valor de BuildID de la compilación desencadenante.

Esta variable tiene el ámbito del agente. Se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones.
Build.TriggeredBy.DefinitionId Si la compilación se desencadenó mediante otra compilación, esta variable se establece en el valor de DefinitionID de la compilación desencadenante.

Esta variable tiene el ámbito del agente. Se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones.
Build.TriggeredBy.DefinitionName Si la compilación se desencadenó mediante otra compilación, esta variable se establece en el nombre de la canalización de compilación desencadenante.

Esta variable tiene el ámbito del agente. Se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones.
Build.TriggeredBy.BuildNumber Si la compilación se desencadenó mediante otra compilación, esta variable se establece en el número de la compilación desencadenante.

Esta variable tiene el ámbito del agente. Se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones.
Build.TriggeredBy.ProjectID Si la compilación se desencadenó mediante otra compilación, esta variable se establece en el identificador del proyecto que contiene la compilación desencadenante.

Esta variable tiene el ámbito del agente. Se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones.
Common.TestResultsDirectory Ruta de acceso local en el agente donde se crean los resultados de pruebas. Por ejemplo: c:\agent_work\1\TestResults.

Esta variable tiene el ámbito del agente. Se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones.

Variables del sistema (DevOps Server 2019)

Script de PowerShell de ejemplo: acceso a la API de REST

Variable Descripción
System.AccessToken Use el token de OAuth para acceder a la API REST.

Use System.AccessToken desde scripts de YAML.

Esta variable tiene el ámbito del agente. Se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones.
System.CollectionId GUID de la colección de TFS o de la organización de Azure DevOps.
System.DefaultWorkingDirectory Ruta de acceso local en el agente donde se descargan los archivos de código fuente. Por ejemplo: c:\agent_work\1\s

De forma predeterminada, las nuevas canalizaciones de compilación actualizan solo los archivos modificados. Puede modificar cómo se descargan los archivos en la pestaña Repositorio.

Esta variable tiene el ámbito del agente. Se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones.
System.DefinitionId Identificador de la canalización de compilación.
System.HostType Establézcala en build si la canalización es una compilación. Con una versión, los valores son deployment para un trabajo de grupo de implementación y release para un trabajo del agente.
System.PullRequest.IsFork Si la solicitud de incorporación de cambios procede de una bifurcación del repositorio, esta variable se establece en True. De lo contrario, se establece en False.
System.PullRequest.PullRequestId Identificador de la solicitud de incorporación de cambios que provocó esta compilación. Por ejemplo: 17. (Esta variable solo se inicializa si la compilación se ejecutó debido a una solicitud de incorporación de cambios de Git afectada por una directiva de rama).
System.PullRequest.PullRequestNumber Número de la solicitud de incorporación de cambios que provocó esta compilación. Esta variable se rellena para las solicitudes de incorporación de cambios de GitHub que tienen un identificador y un número de solicitud de incorporación de cambios diferentes.
System.PullRequest.SourceBranch Rama que se revisa en una solicitud de incorporación de cambios. Por ejemplo: refs/heads/users/raisa/new-feature. (Esta variable solo se inicializa si la compilación se ejecutó debido a una solicitud de incorporación de cambios de Git afectada por una directiva de rama).
System.PullRequest.SourceCommitId El commit que se revisa en una solicitud de incorporación de cambios. (Esta variable solo se inicializa si la compilación se ejecutó debido a una solicitud de incorporación de cambios de Git afectada por una directiva de rama).
System.PullRequest.SourceRepositoryURI Dirección URL del repositorio que contiene la solicitud de incorporación de cambios. Por ejemplo: https://dev.azure.com/ouraccount/_git/OurProject. (Esta variable solo se inicializa si la compilación se ejecutó debido a una solicitud de incorporación de cambios de Git de Azure Repos afectada por una directiva de rama. No se inicializa para las solicitudes de incorporación de cambios de GitHub).
System.PullRequest.TargetBranch Rama que es el destino de una solicitud de incorporación de cambios. Por ejemplo: refs/heads/main. Esta variable solo se inicializa si la compilación se ejecutó debido a una solicitud de incorporación de cambios de Git afectada por una directiva de rama.
System.TeamFoundationCollectionUri URI de la colección de Team Foundation. Por ejemplo: https://dev.azure.com/fabrikamfiber/.

Esta variable tiene el ámbito del agente. Se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones.
System.TeamProject Nombre del proyecto que contiene esta compilación.
System.TeamProjectId Identificador del proyecto al que pertenece esta compilación.
TF_BUILD Se establece en True si una tarea de compilación ejecuta el script.

Esta variable tiene el ámbito del agente. Se puede usar como variable de entorno en un script y como parámetro en una tarea de compilación, pero no como parte del número de compilación o como etiqueta de control de versiones.

¿Cómo se establecen las variables de identidad?

El valor depende de lo que provocó la compilación y son específicas de los repositorios de Azure Repos.

Si se desencadena la compilación... Los valores Build.QueuedBy y Build.QueuedById se basan en... Los valores Build.RequestedFor y Build.RequestedForId se basan en...
En Git o mediante los desencadenadores de integración continua (CI) La identidad del sistema, por ejemplo, [DefaultCollection]\Project Collection Service Accounts La persona que insertó los cambios en el repositorio.
En Git o mediante una compilación de directiva de rama. La identidad del sistema, por ejemplo, [DefaultCollection]\Project Collection Service Accounts La persona que insertó los cambios en el repositorio.
En TFVC mediante un desencadenador de inserción en el repositorio validada. La persona que insertó los cambios en el repositorio. La persona que insertó los cambios en el repositorio.
En Git o TFVC mediante los desencadenadores programados. La identidad del sistema, por ejemplo, [DefaultCollection]\Project Collection Service Accounts La identidad del sistema, por ejemplo, [DefaultCollection]\Project Collection Service Accounts
Porque ha hecho clic en el botón Poner compilación en cola. Usted Usted

Pida a Copilot que genere una fase con una condición basada en valores de variable

Use copilot para generar una fase con una condición determinada por el valor de una variable.

Este mensaje de ejemplo define una fase que se ejecuta cuando Agent.JobStatus indica que la fase anterior se ejecutó correctamente:

Cree una nueva fase de Azure DevOps que solo se ejecute cuando Agent.JobStatus se Succeeded o SucceededWithIssues.

Puede personalizar la solicitud para usar valores que cumplan sus requisitos. Por ejemplo, puede solicitar ayuda para crear una fase que solo se ejecute cuando se produzca un error en una canalización.

Nota:

GitHub Copilot se basa en la inteligencia artificial, por lo que son posibles sorpresas y errores. Asegúrese de comprobar cualquier código o sugerencia generado. Para obtener más información sobre el uso general de GitHub Copilot, impacto en el producto, supervisión humana y privacidad, consulte preguntas más frecuentes sobre GitHub Copilot.