Run pipeline button for "Pipelines for merge requests"
Problem to solve
Pipelines for merge requests/results introduced a nice new feature that allows you to run a pipeline in the context of a merge request, but the only way to trigger these is through a push. There isn't a way to re-run or trigger a new pipeline for a merge request manually.
Need statement: The user needs a way to re-run a merge request pipeline so that they can recreate a pipeline with the latest master (target branch).
Why?
- It's useful when they want to check if their MR does not break master even though the MR has not been updated for a long time.
Current situation:
- Currently, users can run a pipeline for merge requests when they push a new commit. But sometimes they want to re-run it, however, they cannot because there is no button for that purpose.
- The current situation is quite inconvenient when they use attached merge request pipeline and target branch is advanced. They want to check the new pipeline result with the advanced target, however, they have to do
git push
with whatever commit.
Intended users
Further details
This is an important missing part of Pipelines for merge requests.
Solution
- Introduce button similar to pipeline list, which immediately starts a new pipeline in the merge request context with merge request ref either attached/detached depending on the state of the merge request.
- Button copy:
Run merge request pipeline
- Button is conditional:
- If the latest pipeline of the merge request is attached/detached merge request pipeline, button is shown
- If the latest pipeline of the merge request is a branch pipeline, the system does not show this button
Permissions and Security
Documentation
What concepts and procedures should the docs guide and enable the user to understand or accomplish?
Clearly, communicate that if merge request pipelines are used this is the only way to manually start them apart from a push towards a branch associated with a merge request.
We need to document that pipeline can be started manually and for merge requests pipelines this can only be done from the merge request page (I could not find information about triggering a pipeline manually here)
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.
- https://docs.gitlab.com/ee/ci/merge_request_pipelines/#pipelines-for-merge-requests
- https://docs.gitlab.com/ee/ci/triggers/README.html#triggering-a-pipeline
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?
Single usecase (described in problem section)
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.
We might want to consider linking towards triggering pipelines from https://gitlab.com/gitlab-org/gitlab-ee/pipelines/new (though this will need a separate issue that affects the application itself.)
Are there any key terms or task descriptions that should be included so that the docs are found in relevant searches?
- merge request pipeline
- manual trigger
- update / outdated
Include suggested titles of any pages or subsections, if applicable.
- Manual pipeline trigger