-
Improvement
-
Resolution: Unresolved
-
Major
-
None
-
-
Declarative backlog
It would be extremely useful to be able to share variables between stages ; currently, environment variables are overriden per-stage only, given the following example :
stages { stage('Setup profile') { environment { MVNARGS = "-P${params.profile}" } when { expression { params.profile != '' } } steps { echo "deploying as args:${env.MVNARGS} - env:${MVNARGS} - pprofile:${params.profile} - ..." } } stage('Build') { steps { sh "mvn ${env.MVNARGS} xxxxxxx" } } }
In Build, MVNARGS is null because the override from the Setup profile is stage scoped.
I did not find a workaround for this, I've tried to share using the params Map but it's an unmodifiable read-only map.
Any ideas ?
Thanks
- is duplicated by
-
JENKINS-43408 Provide a standardized way of dealing with variables
-
- Fixed but Unreleased
-
-
JENKINS-55771 Assign variable from shell output using declarative pipeline
-
- Closed
-
[JENKINS-44376] Ability to set variables shared between stages
Epic Link |
New:
|
Link |
New:
This issue is duplicated by |
Sprint | New: Declarative backlog [ 621 ] |
Assignee | Original: Andrew Bayer [ abayer ] | New: Jose Blas Camacho Taboada [ jtaboada ] |
Status | Original: Open [ 1 ] | New: In Progress [ 3 ] |
Status | Original: In Progress [ 3 ] | New: Open [ 1 ] |
Status | Original: Open [ 1 ] | New: In Progress [ 3 ] |
Status | Original: In Progress [ 3 ] | New: In Review [ 10005 ] |
Hi laurentperez,
have you tried to set the environment variables in the top level?