Filters for pipelines
Problem to solve
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.
Need statement: The user needs a way to see their own pipeline progress (plural) across a context so that they can be informed of the collective pipeline activity.
Intended users
Further details
The new context direction of the original problem statement has been scoped of to a separate issue: https://gitlab.com/gitlab-org/gitlab-ce/issues/65040. This issue will focus on filtering only.
Proposal
This proposal will enable filtering the project pipeline list on:
-
trigger author
(high priority for scope) pipeline status
trigger source
It will use the existing search/filter paradigm from the issue/merge request list, and have the default open search functionality querying:
-
branch name
(high priority for scope) tag name
UI
Pipeline status:
- Canceled
- Created
- Failed
- Manual
- Not found
- Passed
- Running
- Skipped
- Warning
Trigger author:
- Same as https://gitlab.com/gitlab-org/gitlab-ce/issues for
assignee
.
Trigger source:
- API
- External
- Git push
- Manual
- Schedule
General search:
- Status - icon:
status-created
- Trigger author - icon:
user
- Trigger source - icon:
fire
Permissions and Security
Documentation
What concepts and procedures should the docs guide and enable the user to understand or accomplish?
This is only available for the project pipeline list currently. You can search or filter down on a certain scope of pipelines across a project's context. For example your own, based on a certain branch, or from a certain source. Additionally, it will be easier to find pipelines with uncommon statusses that have warnings or are not found.
Additive filters will be considered in the future (this might help to see all pipelines from a team working on the same project for example).
To this end, what new page(s) are needed, if any? What pages/subsections need updates? Consider user, admin, and API doc changes and additions.
For any guide or instruction set, should it help address a single use case, or be flexible to address a certain range of use cases?
It will address a range of use cases by allowing the user to search filter down the pipeline scope across a project's context.
Do we need to update a previously recommended workflow? Should we link the new feature from various relevant locations? Consider all ways documentation should be affected.
- https://docs.gitlab.com/ee/ci/pipelines.html#visualizing-pipelines
- https://docs.gitlab.com/ee/ci/pipelines.html#accessing-pipelines
Are there any key terms or task descriptions that should be included so that the docs are found in relevant searches?
- Filtering pipelines by
- Trigger author
- Trigger source
- Pipeline status
- Search pipelines by branch/tag name
Include suggested titles of any pages or subsections, if applicable.
- Filtering pipelines by status
- Filtering pipelines by trigger author
- Filtering pipelines by trigger source
- Search pipelines by branch/tag name
Testing
What does success look like, and how can we measure that?
Potential follow up problem/need statements
-
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.
- 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.
Links / references
- Depends on #18992 (closed)
- Slack Channel (Internal Link only) #f_pipeline_filters