Pipeline Filter: Add Pipeline Status, Tag Name
Problem to solve
The project pipelines list (CI/CD > Pipelines) shows all pipelines triggered for the project but users need the ability to filter the list to focus on pipelines most relevant to them: As a developer, I want to be able to zero in on things that matter to me, as opposed to things that matter to the whole team.
Pipeline filters was introduced in #215367 (closed) with the ability to filter by Trigger Author and by Branch Name.
In this issue we will add two additional pipeline filters:
- Pipeline Status
- Tag Name
As well as filter pipelines by url query params like so:
https://gitlab.com/gitlab-org/gitlab/pipelines?page=2&scope=all&username=pburdette
Intended users
Personas are described at https://about.gitlab.com/handbook/marketing/product-marketing/roles-personas/
User experience goal
The user should be able to filter the pipelines list by Pipeline Status
and by Tag Name
.
Design specs can be found in the epic or here https://gitlab-org.gitlab.io/gitlab-design/hosted/dimitrie/ce18054-pipeline-filters-spec-previews/
Proposal
Enable filtering the project pipeline list on the following criteria:
pipeline status
tag name
for icons please use:
status
tag
Further details
- This issue is a scoped down issue of #15268 (closed), which has been promoted to epic &3286 (closed).
Permissions and Security
Documentation
Update list of available filters on the View pipelines docs by adding the new pipeline filters added in this issue.
Availability & Testing
- What risks does this change pose to our availability? - No risk to our availability
- How might it affect the quality of the product? - This will increase the quality of our product, adding values to UX by providing meaningful filtered data.
- Will it require cross-browser testing? - Yes, please make sure all intended behaviors are the same cross-browser (i.e. Chrome, Firefox, IE, Safari ... etc.)
- What additional test coverage or changes to tests will be needed? - Please see below
Please list the test areas (unit, integration and end-to-end) that needs to be added or updated to ensure that this feature will work as intended. Please use the list below as guidance.
-
Unit test changes - Yes
- Filter with
Status
, ensure table updates correctly with correct pipelines by pipeline status - Filter with
Tag
, ensure table updates correctly with correct pipelines by tag name - Filter with multiple filters (i.e. both status and tag)
- Removing filters will update table data
- Filter with
-
Integration test changes
- Ensure query params are correct when making api call
- Ensure invalid/illegal inputs are being captured/handled appropriately
-
End-to-end test change - not required
See the test engineering planning process and reach out to your counterpart Software Engineer in Test for assistance: https://about.gitlab.com/handbook/engineering/quality/test-engineering/#test-planning
Links / references
Related backend work: Backend work for Pipeline Filter - Pipeline Status, Tag Name