variables definition

Define variables using name/value pairs.

Definitions that reference this definition: pipeline, stages.stage, jobs.job, jobs.deployment

Definitions that reference this definition: pipeline, jobs.job

Implementations

Implementation Description
variables: string dictionary Define variables using name/value pairs.
variables: variable list Define variables by name, variable group, or in a template.

Remarks

The variables keyword uses two syntax forms: variable list and mapping (string dictionary).

In mapping syntax, all keys are variable names and their values are variable values. To use variable templates, you must use list syntax. List syntax requires you to specify whether you're mentioning a variable (name), a variable group (group), or a template (template).

You can't use list and mapping variables in the same variables section, but you can combine name, group, and template when using list syntax.

You can specify variables at the pipeline, stage, or job level.

variables: string dictionary

Define variables using name/value pairs.

YAML
variables:
  string: string # Name/value pairs

None.

Examples

For a simple set of hard-coded variables, use this mapping syntax:

YAML
variables: { string: string }

Variables defined at different scopes:

YAML
variables:      # pipeline-level
  MY_VAR: 'my value'
  ANOTHER_VAR: 'another value'

stages:
- stage: Build
  variables:    # stage-level
    STAGE_VAR: 'that happened'

  jobs:
  - job: FirstJob
    variables:  # job-level
      JOB_VAR: 'a job var'
    steps:
    - script: echo $(MY_VAR) $(STAGE_VAR) $(JOB_VAR)
YAML
variables:      # pipeline-level
  MY_VAR: 'my value'
  ANOTHER_VAR: 'another value'

jobs:
- job: FirstJob
  variables:  # job-level
    JOB_VAR: 'a job var'
  steps:
  - script: echo $(MY_VAR) $(STAGE_VAR) $(JOB_VAR)

variables: variable list

Define variables by name, variable group, or in a template.

YAML
variables: [ name | group | template ] # Define variables by name, variable group, or in a template.

List types

Type Description
variables.name Define variables using name and full syntax.
variables.group Reference variables from a variable group.
variables.template Define variables in a template.

Examples

To include variable groups, switch to this sequence syntax:

YAML
variables:
- name: string  # name of a variable
  value: string # value of the variable
- group: string # name of a variable group

You can repeat name/value pairs and group.

Variables can also be set as read only to enhance security.

YAML
variables:
- name: myReadOnlyVar
  value: myValue
  readonly: true

You can also include variables from templates.

Sequence syntax:

YAML
variables:
- name: MY_VARIABLE           # hard-coded value
  value: some value
- group: my-variable-group-1  # variable group
- group: my-variable-group-2  # another variable group

See also