-
Bug
-
Resolution: Fixed
-
Critical
-
-
Blue Ocean 1.2-beta2, Blue Ocean 1.2-beta3, Blue Ocean 1.2-beta4, Blue Ocean 1.2, Blue Ocean 1.3, Blue Ocean 1.4 - beta 1
-
Blue Ocean 1.17.0, Pipeline: API 2.34, Pipeline: Basic Steps 2.18, Pipeline: Graph Analysis 1.10, Pipeline: Groovy 2.70, Pipeline: Declarative 1.3.9, JUnit: 1.28, Warnings Next Generation 5.2.0
Problem
When there is a build which has a stage that marks the build as unstable, all the stages, parallels and steps are marked incorrectly as unstable than just the unstable stage, parallel and step that caused the Pipeline to be unstable.
To reproduce
- Build the multibranch pipeline "kzantow/failure-project" from github
- Look at the "michaelneale" branch
- Note that all stages are unstable (check the api json, all stages are UNSTABLE but should not be, only the final stage should be).
- is blocked by
-
JENKINS-26522 Annotated block/stage status
-
- Closed
-
-
JENKINS-43995 Individual Pipeline steps and stages/blocks should have Result statuses
-
- Resolved
-
- is duplicated by
-
JENKINS-48673 Nodes status are not displayed correctly after aborting an input step
-
- Closed
-
-
JENKINS-45871 Failed test sets all steps to unstable
-
- Closed
-
-
JENKINS-48771 blue ocean not recognizing status change from test evaluation
-
- Closed
-
-
JENKINS-49778 If one stage in the pipeline fails, all the states are marked/color with the same status color
-
- Closed
-
-
JENKINS-56683 Declarative Pipeline: set the build result when tests fail without a script block
-
- Closed
-
- is related to
-
JENKINS-27092 create a step to abort the build with a NOT_BUILT status
-
- Reopened
-
-
JENKINS-53889 Support post conditions that accept a range of stage statuses
-
- Open
-
-
JENKINS-58783 Update pipeline stage-view-plugin to use the new WarningAction API
-
- Open
-
- relates to
-
JENKINS-57801 Execution of post stage block is based on pipeline status, not stage result which docs says it should
-
- Open
-
-
JENKINS-26523 Allow yellow "unstable" state from a step
-
- Resolved
-
-
JENKINS-60426 All stages show up as UNSTABLE when one stage is unstable
-
- Resolved
-
-
JENKINS-58554 Workflow parse exception with new approach for unstable stages
-
- Closed
-
-
JENKINS-45579 Step to set stage or parallel status
-
- Resolved
-
-
JENKINS-43292 The failed parallel build step should be focused and aborted when failFast
-
- Resolved
-
- links to
leedega we have had the same issue. Today we work extensively with Slack notifications that contain links to html reports (this is more important than just showing the correctly coloured box anyway, because even with that the developer would still have to check the log file for the actual root cause).
In general I think it is great to have a per-pipeline-run build status - this probably shouldn't even be refactored: There are quite some use cases that need that: Notifications to source control if a feature branch can be merged, notifications about "back to normal", just showing a color in the build list in the left panel. That said I think it would be great to have additionally a per stage status, but not only for success/unstable/failed but with a much richer data model - it could e.g. be a list of info, warn and error messages that can be reduced to info/warn/error counts and even more reduced to success/unstable/failed per stage. If that was implemented as stage.info(...), stage.warn(...), stage.error(...) it could under the hood automatically set the per-pipeline-run build status. Plugins could without hassle one by one switch to the new way of setting the build status (while the old way stays intact).
All that being said, if for a certain use case it is really important to only "change the color of one box", there is currently one way to achieve it:
Will get you

svanoort As people's grief lies mostly in the UI presentation as it seems (and not in the underlying data model), maybe it could be a very simple change in the pipeline core plugin to show yellow for a predefined exception?