-
Improvement
-
Resolution: Fixed
-
Major
-
None
The last change to the stage `when {}` block changed to using items like `branch` and `expression`.
Multiple items cannot be used in the same when block. This makes sense because it would unclear whether those items should be "A or B", or if they should be "A and B".
The `when` block should support logical blocks such as `and {}`, `or {}`, `not {}` to allow combining other conditions in a clear fashion.
For example, when branch is master or parameter "FORCE_FULL_BUILD" is true:
stage ('Build') { when { or { branch 'master' expression { return params.FORCE_FULL_BUILD } } } }
Alternative: use `all {}` instead of `and`, and use `any {}` instead of `or {}`:
stage ('Build') { when { any { branch 'master' expression { return params.FORCE_FULL_BUILD } } } }
- relates to
-
JENKINS-41187 Stage "when" should have "stage" condition
-
- In Progress
-
- links to
[JENKINS-41185] [Declarative Pipeline] Stage "when" should have logical operator steps (and, or, not, all, any)
Summary | Original: [Declarative Pipeline] Stage when should have logical operator steps (and, or, not, all, any) | New: [Declarative Pipeline] Stage "when" should have logical operator steps (and, or, not, all, any) |
Link | New: This issue relates to JENKINS-41187 [ JENKINS-41187 ] |
Status | Original: Open [ 1 ] | New: In Progress [ 3 ] |
Remote Link | New: This issue links to "PR #99 (Web Link)" [ 15316 ] |
Remote Link | Original: This issue links to "PR #99 (Web Link)" [ 15316 ] |
Status | Original: In Progress [ 3 ] | New: In Review [ 10005 ] |
Remote Link | New: This issue links to "PR #125 (Web Link)" [ 15485 ] |
Resolution | New: Fixed [ 1 ] | |
Status | Original: In Review [ 10005 ] | New: Resolved [ 5 ] |
Status | Original: Resolved [ 5 ] | New: Closed [ 6 ] |