Declarative pipeline functions cannot access defined environment variables from environment block

This issue is archived. You can view it, but you can't modify it. Learn more

XMLWordPrintable

      Functions that are called from within the environment block do not have access to environment variables that are defined previously in the same environment block. Parameters work as expected and accessing the function outside of the environment block works as expected.

      Example pipeline that exhibits the null environment variable function

      #!/usr/bin/env groovy
      
      def returnEnvVar() {
        env.VARIABLE
      }
      
      pipeline {
          environment {
            VARIABLE = "I'm set"
            COPY_VARIABLE = returnEnvVar() // this gets set to null
          }
          stages {
              stage('Print Environment') {
                  steps {
                      echo "${VARIABLE}"
                      echo "${COPY_VARIABLE}" // this prints out null
                  }
              }
          }
      }

            Assignee:
            Unassigned
            Reporter:
            Brian Skarda
            Archiver:
            Jenkins Service Account

              Created:
              Updated:
              Archived: