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

Environment vars with multiple substitutions are not set

    • Pipeline - July/August

      Attempting to use multiple substituted values in an environment property causes it to silently fail to be set.

      Example script

      pipeline {
          agent any
          stages {
              stage('Build') {
                  environment {
                      AAA_Key = "${EXECUTOR_NUMBER} ${BUILD_NUMBER}"
                      AAA_BN_ONLY = "${BUILD_NUMBER}"
                      AAA_EN_ONLY = "${EXECUTOR_NUMBER}"
                  }
                  steps {
                      bat 'set'
                  }
              }
          }
      }
      

      Current output

      c:\w\Pipeline Experimental\default>set
      AAA_BN_ONLY=36
      AAA_EN_ONLY=1
      

      Current workaround is to use withEnv directly, which doesn't appear to suffer from this issue

          [JENKINS-45637] Environment vars with multiple substitutions are not set

          Andrew Bayer added a comment -

          This'll be fixed as part of JENKINS-42753, which is in PR right now and will be included in Declarative 1.2. I've added a test to that PR verifying the fix.

          Andrew Bayer added a comment - This'll be fixed as part of JENKINS-42753 , which is in PR right now and will be included in Declarative 1.2. I've added a test to that PR verifying the fix.

          Liam Newman added a comment -

          Bulk closing resolved issues.

          Liam Newman added a comment - Bulk closing resolved issues.

            abayer Andrew Bayer
            peitschie Philip Peitsch
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: