load_var Step
Load the value for a var at runtime from a file, making it available to subsequent steps as a local build var named after the given identifier. Expand each section below for more details and examples.
load_var: identifier (required)
The identifier will be the name of var, available to subsequent steps as a local build var.
Loading a simple value as a var
The following pipeline loads vars from a text file whose contents are used as a version number to
put.
jobs:
- name: loading-vars
plan:
- get: examples
- load_var: version
file: examples/misc/simple-value.txt
- put: img
params:
version: ((.:version))
resources:
- name: examples
type: git
icon: github
source:
uri: https://github.com/concourse/examples.git
- name: img
type: mock
simple-value.txt looks like this:
file: file-path (required)
The path to a file whose content shall be read and used as the var's value.
format: json | yaml | yml | trim | raw
The format of the file's content.
If unset, Concourse will try to detect the format from the file extension. If the file format cannot be determined,
Concourse will fallback to trim.
If set to json, yaml, or yml, the file content will be parsed accordingly and the resulting structure will be
the value of the var.
If set to trim, the var will be set to the content of the file with any trailing and leading whitespace removed.
If set to raw, the var will be set to the content of the file without modification (i.e. with any existing
whitespace).
Loading a var with multiple fields
Let's say we have a file with multiple fields, like this yaml file:
We could pass these values to subsequent steps by loading it into a var with load_var, which will detect that
it is in YAML format based on the file extension:
jobs:
- name: loading-vars
plan:
- get: examples
- load_var: version
file: examples/pipelines/vars-file.yml
- put: img
params:
version: "((.:version.hello))-((.:version.number))"
resources:
- name: examples
type: git
icon: github
source:
uri: https://github.com/concourse/examples.git
- name: img
type: mock
If the file vars-file.yml was generated in a task and printed these values, they would be automatically
redacted unless reveal: true is set.
reveal: boolean
Default false. If set to true, allow the var's content to be printed in the build output even with secret
redaction enabled.