diff options
Diffstat (limited to 'doc/user/project/merge_requests/merge_when_pipeline_succeeds.md')
-rw-r--r-- | doc/user/project/merge_requests/merge_when_pipeline_succeeds.md | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/doc/user/project/merge_requests/merge_when_pipeline_succeeds.md b/doc/user/project/merge_requests/merge_when_pipeline_succeeds.md new file mode 100644 index 00000000000..75ad18b28cf --- /dev/null +++ b/doc/user/project/merge_requests/merge_when_pipeline_succeeds.md @@ -0,0 +1,46 @@ +# Merge When Pipeline Succeeds + +When reviewing a merge request that looks ready to merge but still has one or +more CI builds running, you can set it to be merged automatically when the +builds pipeline succeeds. This way, you don't have to wait for the builds to +finish and remember to merge the request manually. + +![Enable](img/merge_when_build_succeeds_enable.png) + +When you hit the "Merge When Pipeline Succeeds" button, the status of the merge +request will be updated to represent the impending merge. If you cannot wait +for the pipeline to succeed and want to merge immediately, this option is +available in the dropdown menu on the right of the main button. + +Both team developers and the author of the merge request have the option to +cancel the automatic merge if they find a reason why it shouldn't be merged +after all. + +![Status](img/merge_when_build_succeeds_status.png) + +When the pipeline succeeds, the merge request will automatically be merged. +When the pipeline fails, the author gets a chance to retry any failed builds, +or to push new commits to fix the failure. + +When the builds are retried and succeed on the second try, the merge request +will automatically be merged after all. When the merge request is updated with +new commits, the automatic merge is automatically canceled to allow the new +changes to be reviewed. + +## Only allow merge requests to be merged if the pipeline succeeds + +> **Note:** +You need to have builds configured to enable this feature. + +You can prevent merge requests from being merged if their pipeline did not succeed. + +Navigate to your project's settings page, select the +**Only allow merge requests to be merged if the pipeline succeeds** check box and +hit **Save** for the changes to take effect. + +![Only allow merge if pipeline succeeds settings](img/merge_when_build_succeeds_only_if_succeeds_settings.png) + +From now on, every time the pipeline fails you will not be able to merge the +merge request from the UI, until you make all relevant builds pass. + +![Only allow merge if pipeline succeeds message](img/merge_when_build_succeeds_only_if_succeeds_msg.png) |