Make the pipeline status on the dashboard more visually prominent

33 views
Skip to first unread message

Alexey Savchkov

unread,
Dec 23, 2022, 9:37:16 AM12/23/22
to go-cd
What I am missing on the GoCD dashboard is a more clear visualisation of the result of the piplines which have completed. Is it possible to paint those square pipeline tiles on the dashboard to make them more prominently reflect whether they have succeded or failed? The best I can propose is to make a colourful outline of the tile like this

paint1.png

or maybe fill some part of the heading area

paint2.png

or whatever UI techique is appropriate for this. I think this would improve the readability of the dashboard to the extent that it cpould be practically output to a status LCD panel.

Ashwanth Kumar

unread,
Dec 23, 2022, 12:56:48 PM12/23/22
to go...@googlegroups.com
This is an excellent suggestion, the only catch in implementing them would be the definition of the pipeline completion. Pipelines with a single stage is easy to define, but think of the following cases:

- Pipeline has two stage and second stage is manual. The second stage is not yet triggered, so is the pipeline complete or failed or in progress?
- You can also have runs where the manual stage hasn't been run yet but next run starts. (i.e) two or more parallel runs.
- You can have first stage failed but the manual second stage has passed. 

This is all with just two stages, this problem of combinations increases with multiple stages each with a manual or automatic trigger. 

The alternative approach that i personally recommend to the teams that use a common GoCD instance with lot of pipelines is to create custom views with related pipelines. 

One can also use something like CCTray(not sure if it still works), or build a custom dashboard with the status of related pipelines using the API. I do remember seeing a few projects on GitHub which are useful to be used as build dashboards for display.

Thanks,


--
You received this message because you are subscribed to the Google Groups "go-cd" group.
To unsubscribe from this group and stop receiving emails from it, send an email to go-cd+un...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/go-cd/9fd376a9-3697-4ea8-bb79-0fc4460fea57n%40googlegroups.com.

Alexey Savchkov

unread,
Dec 23, 2022, 10:46:17 PM12/23/22
to go...@googlegroups.com
Regarding the determination of the completion of a pipeline with manual and automatic stages I think it is sufficient to limit ourselves to the current pipeline status once all automatic stages have run. If all of them have succeeded and even if there are still some untriggered manual stages then the overall pipeline status is successful. If later a manual stage of this pipeline runs and fails then the overall status should change to a failure. If any of the stages within a pipeline (whether automatic or manual) fail then the overall status is a failure. In my view such an approach would be natural and consistent.

Yes, I've seen a custom dashboard on GitHub but I thought I'd first make a proposal to improve the original GoCD one for the consideration of the GoCD team.

Thank you for the quick reply.

You received this message because you are subscribed to a topic in the Google Groups "go-cd" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/go-cd/vhJVoOYqNCI/unsubscribe.
To unsubscribe from this group and all its topics, send an email to go-cd+un...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/go-cd/CAD9m7CxB6o_aPt66XC_kZtwTeNw2BSgX4Z5aV61D3mBg3vj0mw%40mail.gmail.com.

Sriram Narayanan

unread,
Dec 23, 2022, 11:52:56 PM12/23/22
to go...@googlegroups.com
On Sat, 24 Dec 2022 at 9:16 AM, 'Alexey Savchkov' via go-cd <go...@googlegroups.com> wrote:
Regarding the determination of the completion of a pipeline with manual and automatic stages I think it is sufficient to limit ourselves to the current pipeline status once all automatic stages have run. If all of them have succeeded and even if there are still some untriggered manual stages then the overall pipeline status is successful. If later a manual stage of this pipeline runs and fails then the overall status should change to a failure. If any of the stages within a pipeline (whether automatic or manual) fail then the overall status is a failure. In my view such an approach would be natural and consistent.


I suggest a different colour for indicating that manual stages need to be run.

My message feels to me like a bike shedding contribution, but an occasional query that I deal with auditors is about spotting pipelines that have not run to completion since they are waiting for human action.

Ashwanth Kumar

unread,
Dec 23, 2022, 11:55:39 PM12/23/22
to go...@googlegroups.com
The point i was trying to make was, it might differ from how each team/person want to define their definition(s) of completion.
Eg: Regression testing stage fails but manual approval has passed. Some might say automated tests are more valuable while others a human approval is more important. 

I ran into this exact issue when building the slack notification plugin and had to change my rules to per stage and not per pipeline. The default email notification for pipelines also works the same way inside GoCD.

This is in part why i like the concept of a pipelines than Jobs which some other CI/CD tools use. Pipeline enables flow of code/data/artifacts and yes you can have leaks but as long as the destination is reached you're good. Some might say leaks are bad (intermediate failed stages) and yes can be and you can fix them but it need not stop the final deployment as long as a flow exist to let them through to the destination.

I'll leave it upto the core GoCD team to probably take the final call but just wanted to share my experiences / thoughts. Have a great weekend.

Thanks,


Chad Wilson

unread,
Dec 24, 2022, 3:21:52 AM12/24/22
to go...@googlegroups.com
There isn't much of an (active) GoCD core team left sadly :)

To my knowledge must such things are tracked at stage level rather than pipeline so I don't think there is a consistent view of whether a pipeline has failed, fully completely etc, 'pending' a manual promotion/approval of a stage etc. Dependencies between pipelines are defined between stages on the 'source' side and a pipeline's material (on the 'target' side)

Dashboard views are probably the recommended way to do this right now and what I personally use (e.g a filtered view which only shows running and failed pipelines for this i am interested in) One non-contentious weakness I would like to fix in the current impl is that cancelled stages (timeouts, agents dead part way through) are not able to be individually highlighted alongside failures which is annoying.

For a fuller customisable build radiator personally I recommend https://github.com/build-canaries/nevergreen which works great with GoCD. Has a hosted version which works fine client side.

-Chad

Reply all
Reply to author
Forward
0 new messages