Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-43013

environment directive doesn't properly order GString evaluation

    XMLWordPrintable

    Details

    • Similar Issues:

      Description

      On Declarative 1.1.1, with this Pipeline, I get an error:
      repo: https://github.com/bitwiseman/hermann/
      branch: issue/blue-ocean-editor/env-order

      pipeline {
        agent any
        environment {
          test2 = "value2"
          test3 = "${test2}"
          test = "${test2 + test3}"
        }
        stages {
          stage('Install') {
            steps {
              sh 'echo "${test}"'
            }
          }
        }
      }
      

      "groovy.lang.MissingPropertyException: No such property: test2 for class: groovy.lang.Binding"

      This also errors the same way:

      pipeline {
        agent any
        environment {
          test = "${test2 + test3}"
          test2 = "value2"
          test3 = "${test2}"
        }
        stages {
          stage('Install') {
            steps {
              sh 'echo "${test}"'
            }
          }
        }
      }
      

      I'd expect the second example to error, due to out-of-order assignment. If this too can be fixed, that'd be fine, too. But the simple sequential evaluation of show in the first example should always work.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                abayer Andrew Bayer
                Reporter:
                bitwiseman Liam Newman
              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: