Skip to content

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

Sasha (Software Developer)

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

💎 specs

Title Details Mockup
Search and filter result Tabs will adjust their number badges as well high_fid_1
Status filter Token inherits status color and features pipeline status icon and status name

dropdown features pipeline status icons
high_fid_status
Trigger author filter Token features trigger author avatar and name

dropdown features trigger author avatar, name, and username
high_fid_author
Trigger source filter Token features trigger source name

dropdown features trigger source name
high_fid_source
General search Features 4 options high_fid_search

Pipeline status:

  • Canceled
  • Created
  • Failed
  • Manual
  • Not found
  • Passed
  • Running
  • Skipped
  • Warning

Trigger author:

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.

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

Edited by Dimitrie Hoekstra