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 statustag name
for icons please use:
statustag
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