Backend: Make it easier to understand and differentiate merge request pipelines
Release notes
Problem
There are two main problems with how we identify and differentiate between the merge request, merge result and the merge train pipelines in GitLab.
The "detached" label for the merge request pipelines is confusing. This label is not understood by many users, and it's been surfaced in UX research. See this comment for the UX research insights.
Addressing the bug alone won't solve the problem of confusion caused by the "detached" label. We need to introduce human-readable labels for the different pipeline types and provide additional information about each type so users can learn about them from the UI.
Intended users
Metrics
User experience goal
I want to easily differentiate between different pipeline types.
Proposal
Introduce new labels instead of "detached"
We should introduce new labels for the pipeline types. Each label will show a tooltip on hover with the appropriate description.
- Unlabeled merged request pipelines -> Add
merge request
label-
merge request
:This pipeline ran on the contents of this merge request's branch, not the target branch.
-
- Unlabeled merged results pipelines -> Add
merged results
label-
merged result
:This pipeline ran on the contents of this merge request combined with the contents of the target branch.
-
- Unlabeled merge train pipelines -> Add
merge train
label-
merge train
:This pipeline ran on the contents of this merge request combined with the contents of all other merge requests queued for merging into the target branch.
-
Technical Proposal
The FE can change detached
and merge train
without any BE changes. For merged results
the FE will need a new flag in place.
The flag should be merged_results_pipeline
letting the FE know when to display the label.
Current flags we have
Further details
- #217718 (comment 353987250)
- https://gitlab.com/gitlab-org/gitlab/-/blob/28db4da9589ca94922f1849273ff262becf05fe9/app/views/projects/pipelines/_info.html.haml#L40-41
- https://gitlab.com/gitlab-org/gitlab/-/blob/28db4da9589ca94922f1849273ff262becf05fe9/app/models/ci/pipeline.rb#L1179-1189
- https://gitlab.com/gitlab-org/gitlab/-/blob/28db4da9589ca94922f1849273ff262becf05fe9/app/serializers/ci/pipeline_entity.rb#L34-35
Permissions and Security
Documentation
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.