Global pipeline list
Problem to solve
Need statement: The user needs a way to be able to see all pipelines activity in their organization so that they can see be informed across multiple contexts from within a single place.
Intended users
Further details
Scoped of from https://gitlab.com/gitlab-org/gitlab-ce/issues/18054
Follow up need statements
- The user needs a way to be able to see all the running pipelines in their organization so that they can see when/where things are queueing up in order to know how/when to scale.
- The user needs a way to sort latest pipelines within a specific filtered context depending on their status so that they can prioritize the need for potential investigations more efficiently.
- The user needs a way to filter by branch name so that they can be informed only by production pipelines, including making it easier to rollback to a previous successful deployment.
- The user needs a way to filter on pipelines with certain jobs included so that they can be informed only by pipelines which involve for example deployments.
User stories
As a developer, I'd like to be able to zero in on things that matter to me, as opposed to things that matter to the whole team. The new Pipelines list is great at condensing all the build jobs into single lines per commit trigger, but I'd like to go further and have a view of just "my pipelines". This should be available for an individual project, as well as at a GitLab-wide level so I can see all CI pipelines across all projects I contribute to.
Today, pipelines aren't tied to merge requests, but semantically, they are for me, as a user. So when I comment on a merge request (or otherwise subscribe to it), I'm saying I care about this MR. I might, therefore, want to see how it's pipeline is doing, including if it's green and whether it's been deployed to staging/production yet. BTW, since originally writing this, I've come to believe that
subscribed
is the attribute I want. At least when referring to things "I" care about. I may also want to look for pipelines related to merge requests that developer X has touched, and I'd want some broad definition for that, better than just "author" or "assignee".
FWIW we use gitlab for our internal-only git hosting and CI. The only thing we care about is a global list of running pipelines so we can see when/where things are queueing up, so we know how/when to scale. We don't need any of the complexity around subscribing, starring etc mentioned above. We basically just want to see a queue of builds for all projects in a group. That'd help us tremendously and might be a good, simple first iteration
The ticket description doesn't list branch name as the filter field. This would be very valuable, e.g. for long lived feature branches (in one repo context) or for displaying only production builds (global pipeline view).
Another missing field is searching jobs by job name. Not sure if global jobs view is in scope of this list, but if it is, searching by job name is very helpful. Even in global context - since job names follow a convention, E.g. name is "deploy".
I agree, especially if the branches are used for deployment like in the GitLab branching model it is very useful to be able to see all pipelines on a
production
branch so we can for example rollback to previous successful deployment.
Proposal
The scope has been defined to focus on adding a new context pipeline list view (be it group, instance-global, or instance-personal).
Permissions and Security
Documentation
Testing
What does success look like, and how can we measure that?
Links / references
This page may contain information related to upcoming products, features and functionality. It is important to note that the information presented is for informational purposes only, so please do not rely on the information for purchasing or planning purposes. Just like with all projects, the items mentioned on the page are subject to change or delay, and the development, release, and timing of any products, features, or functionality remain at the sole discretion of GitLab Inc.