- project:
    name: sample-project
    param_1: !j2: '{{ missing_param }}'
    param_2: '{param_1}'
    jobs:
      - sample-job

- builder:
    name: sample-builder
    builders:
      - shell: !j2: |
          # This param_2 usage does not actually trigger underined error.
          # Error is triggered before macro substitution.
          echo {{ param_3 }} {{ other_param }}

- job-template:
    name: sample-job
    param_3: '{param_2}-plus'
    builders:
      - sample-builder:
          other_param: abc
