Commit 16093cc1 authored by Achilleas Pipinellis's avatar Achilleas Pipinellis

Change merge_request_approvals.md location

parent a005c059
# Merge Request Approvals
> Introduced in GitLab Enterprise Edition 7.13.
If you want to make sure every merge request is approved by one or more
people, you can enforce this workflow by using merge request approvals.
Merge request approvals allow you to set the number of necessary approvals
and predefine a list of approvers that will need to approve every
merge request in a project.
## Configuring Approvals
You can configure the approvals in the project settings, under merge requests.
To enable it, set **Approvals required** to 1 or higher and search for the
users you want to be approvers.
![Merge Request Approvals in Project Settings](img/approvals_settings.png)
### Approvals Required
This sets the amount of approvals required before being able to merge a merge request.
At 0, this disables the feature. Any value above 0 requires that amount of different
users to approve the merge request.
The number of approvers can be higher than the required approvals.
### Reset approvals on push
With this setting turned on, approvals are reset when a new push
is done to the merge request branch.
Turn **Reset approvals on push** off if you want approvals to persist,
independent of changes to the merge request.
Approvals do not get reset when rebasing a merge request from the UI.
If one of the approvers pushes a commit to the branch that is tied to the
merge request, they automatically get excluded from the approvers list.
### Approvers
At the approvers area you can define the default set of users that need to
approve a merge request.
Depending on the number of required approvals and the number of approvers set,
there are different cases:
- If there are more approvers than required approvals, any subset of these users
can approve the merge request.
- If there are less approvers than required approvals, all the set approvers plus
any other user(s) need to approve the merge request before being able to merge it.
- If the approvers are equal to the amount of required approvals, all the
approvers are required to approve the merge request.
Note that approvers and the number of required approvals can be changed while
creating or editing a merge request.
When someone is marked as a required approver for a merge request, an email is
sent to them and a todo is added to their list of todos.
## Using approvals
After configuring approvals, you will be able to change the default set of
approvers and the amount of required approvals before creating the merge request.
The amount of required approvals, if changed, must be greater than the default
set at the project level. This ensures that you're not forced to adjust settings
when someone is unavailable for approval, yet the process is still enforced.
If the approvers are changed via the project's settings after a merge request
is created, the merge request retains the previous approvers, but you can always
change them by editing the merge request.
The author of a merge request cannot be set as an approver for that merge
request.
To approve a merge request, simply press the **Approve merge request** button.
![Merge request approval](img/approvals_mr.png)
Once you approve, the button will disappear and the number of approvers
will be decreased by one.
![Merge request approval](img/approvals_mr_approved.png)
......@@ -13,13 +13,10 @@
- [Labels](../user/project/labels.md)
- [Issue weight](issue_weight.md)
- [Manage large binaries with git annex](git_annex.md)
- [Merge Request Approvals](merge_request_approvals.md)
- [Notification emails](notifications.md)
- [Project Features](project_features.md)
- [Project forking workflow](forking_workflow.md)
- [Project users](add-user/add-user.md)
- [Fast-forward merge](ff_merge.md)
- [Rebase before merge](rebase_before_merge.md)
- [Protected branches](../user/project/protected_branches.md)
- [Slash commands](../user/project/slash_commands.md)
- [Sharing a project with a group](share_with_group.md)
......@@ -37,6 +34,9 @@
- [Revert changes in the UI](../user/project/merge_requests/revert_changes.md)
- [Merge requests versions](../user/project/merge_requests/versions.md)
- ["Work In Progress" merge requests](../user/project/merge_requests/work_in_progress_merge_requests.md)
- (EE) [Merge Request Approvals](../user/project/merge_requests/merge_request_approvals.md)
- (EE) [Fast-forward merge](ff_merge.md)
- (EE) [Rebase before merge](rebase_before_merge.md)
- [Repository Mirroring](repository_mirroring.md)
- [Manage large binaries with Git LFS](lfs/manage_large_binaries_with_git_lfs.md)
- [Importing from SVN, GitHub, BitBucket, etc](importing/README.md)
......
# Merge Request Approvals
If you want to make sure every merge request is approved by one or more
people, you can enforce this workflow by using merge request approvals.
Merge request approvals allow you to set the number of necessary approvals
and predefine a list of approvers that will need to approve every
merge request in a project.
![Merge request approval](merge_request_approvals/2_approvals.png)
## Configuring Approvals
You can configure the approvals in the project settings, under merge requests.
![Merge Request Approvals in Project Settings](merge_request_approvals/approvals_settings.png)
To enable it, set **Approvals required** to 1 or higher.
### Approvals Required
This sets the amount of approvals required before being able to merge a merge request.
At 0, this disables the feature. Any value above requires that amount of different
users to approve the merge request.
### Reset approvals on push
With this setting turned on, approvals are reset when a new push
is done to the merge request branch.
Turn "Reset approvals on push" off if you want approvals to persist,
independent of changes to the merge request.
### Approvers
At approvers you can define the default set of users that need to approve a
merge request. The author of a merge request cannot be set as an approver for
that merge request.
If there are more approvers than required approvals, any subset of these users
can approve the merge request.
If there are less approvers than required approvals, all the set approvers plus
any other user(s) need to approve the merge request before being able to merge it.
![One specific user and someone else need to approve this merge request](merge_request_approvals/1_named_approval.png)
If the approvers are equal to the amount of required approvals, all the approvers are
required to approve merge requests.
![Two specific users need to approve this merge request](merge_request_approvals/2_named_approvals.png)
Note that approvers can be changed during merge request creation.
## Using Approvals
After configuring Approvals, you will see the following during merge request creation.
![Choosing approvers in merge request creation](merge_request_approvals/approvals_mr.png)
You can change the default set of approvers and the amount of required approvals
before creating the merge request. The amount of required approvals, if changed,
must be greater than the default set at the project level. This ensures that
you're not forced to adjust settings when someone is unavailable for approval,
yet the process is still enforced.
To approve a merge request, simply press the button.
![Merge request approval](merge_request_approvals/2_approvals.png)
This document was moved to [user/project/merge_requests/merge_request_approvals](../user/project/merge_requests/merge_request_approvals.md).
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment