-
Bug
-
Resolution: Not A Defect
-
Major
-
None
-
Jenkins ver. 2.121.2 with up-to-date plugins
The attached Jenkinsfile can be used to reproduce this issue.
Running the Pipeline the first time, everything works as expected:
run a)
------
[Pipeline] {
[Pipeline] timestamps
[Pipeline] {
[Pipeline] stage
[Pipeline] { (one)
[Pipeline] script
[Pipeline]
[Pipeline] // script
[Pipeline] }
[Pipeline] // stage
[Pipeline] stage
[Pipeline] { (two)
[Pipeline] script
[Pipeline]
[Pipeline] // script
[Pipeline] }
[Pipeline] // stage
[Pipeline] }
[Pipeline] // timestamps
[Pipeline] }
[Pipeline] // node
[Pipeline] End of Pipeline
Finished: SUCCESS
If it is restarted from stage 'two', the value of the global Map member is null. I would expect to have the value from the last run there:
run b) - restart from stage two
-------------------------------
[Pipeline] timestamps
[Pipeline] {
[Pipeline] stage
[Pipeline]
[Pipeline] // stage
[Pipeline] stage
[Pipeline] { (two)
[Pipeline] script
[Pipeline]
[Pipeline] // script
[Pipeline] }
[Pipeline] // stage
[Pipeline] }
[Pipeline] // timestamps
[Pipeline] }
[Pipeline] // node
[Pipeline] End of Pipeline
Finished: SUCCESS
- relates to
-
JENKINS-53193 Provide currentBuild.isRestartedRun and .isRestartedStage global variables
-
- Open
-
Lemme think on this. It may be viable for us to be able to do something like record some information in the previous build explicitly and then be able to refer to that data in the restarted build. Like (and this is really, really hand-wave-y, so don't take this as anything but speculation) this, maybe?
Again, totally not sure if that's actually useful or if it's even possible to implement cleanly.