jenkins-job-builder/tests/yamlparser/fixtures/jinja-string04.yaml
James Harris 8c19ca0cd2 Fix double inderection of name templates
Ensure that we can resolve any lazily loaded templates that might be
dictionary keys in yaml. For more informmation please see the added test
case in tests/yamlparser/fixtures/jinja-string04.yaml.

Change-Id: I67fbca422f2165729af15e4d039278ad66f6240b
Story: 2006431
Task: 36338
2019-11-05 23:33:57 -06:00

41 lines
979 B
YAML

# Make sure Jinja subsittuions work from within "defaults"
- defaults:
name: test-defaults
test_var:
!j2: "{% for x in [1, 2, 3] %}{{ x }}{% endfor %}"
use_test_builder: true
test_builder_name:
!j2: |
{% if use_test_builder -%}
test-shell-builder-alternate
{%- else -%}
test-shell-builder-default
{%- endif %}
- project:
name: test-proj
jobs:
- test-jobs-{argument}:
argument:
- 1
# This type of variable propagation only works in job templates.
- job-template:
name: test-jobs-{argument}
defaults: test-defaults
builders:
# This fails because we only render the initial template, not the final template.
- "{test_builder_name}":
test_var: "{test_var}"
- builder:
name: test-shell-builder-alternate
builders:
- shell: "{test_var}"
- builder:
name: test-shell-builder-default
builders:
- shell: "default"