-
Bug
-
Resolution: Unresolved
-
Minor
-
jenkins-2.190.2-1.1.noarch, workflow-support:3.3
When using the environment directive in a declarative pipeline, the environment variables that are set are not captured and exposed via the RunWrapper.getBuildVariables method.
For example, the following pipeline will yield an empty Map after execution.
Jenkinsfile
pipeline { environment { MY_ENVVAR = "example" } stages { stage("run job") { steps { sh 'printenv | sort' } } } }
Result
[:]
However, if we set this environment variable via the script directive it is captured and made available in the response of RunWrapper.getBuildVariables.
Jenkinsfile
pipeline { stages { stage("run job") { steps { script { env.MY_ENVVAR = "example" } sh 'printenv | sort' } } } }
Result
[MY_ENVVAR:example]
I would expect that ALL custom set environment variables should be retrieved.