info:To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers
@@ -13,16 +13,16 @@ process, as it clearly communicates the ability to merge the change.
...
@@ -13,16 +13,16 @@ process, as it clearly communicates the ability to merge the change.
## Optional Approvals **(CORE ONLY)**
## Optional Approvals **(CORE ONLY)**
> Introduced in [GitLab Core 13.2](https://gitlab.com/gitlab-org/gitlab/-/issues/27426).
> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/27426) in GitLab 13.2.
Any user with Developer or greater [permissions](../../permissions.md) can approve a merge request in GitLab Core.
Any user with Developer or greater [permissions](../../permissions.md) can approve a merge request in GitLab Core and higher tiers.
This provides a consistent mechanism for reviewers to provide approval, and makes it easy for
This provides a consistent mechanism for reviewers to approve merge requests, and makes it easy for
maintainers to know when a change is ready to merge. Approvals in Core are optional and do
maintainers to know when a change is ready to merge. Approvals in Core are optional and do
not prevent a merge request from being merged when there is no approval.
not prevent a merge request from being merged when there is no approval.
## Required Approvals **(STARTER)**
## Required Approvals **(STARTER)**
> Introduced in [GitLab Enterprise Edition 7.12](https://about.gitlab.com/releases/2015/06/22/gitlab-7-12-released/#merge-request-approvers-ee-only).
> [Introduced](https://about.gitlab.com/releases/2015/06/22/gitlab-7-12-released/#merge-request-approvers-ee-only) in GitLab Enterprise Edition 7.12. Available in [GitLab Starter](https://about.gitlab.com/pricing/) and higher tiers.
Required approvals enable enforced code review by requiring specified people
Required approvals enable enforced code review by requiring specified people
to approve a merge request before it can be merged.
to approve a merge request before it can be merged.
...
@@ -33,8 +33,8 @@ Required approvals enable multiple use cases:
...
@@ -33,8 +33,8 @@ Required approvals enable multiple use cases:
- Specifying reviewers for a given proposed code change, as well as a minimum number
- Specifying reviewers for a given proposed code change, as well as a minimum number
of reviewers, through [Approval rules](#approval-rules).
of reviewers, through [Approval rules](#approval-rules).
- Specifying categories of reviewers, such as backend, frontend, quality assurance,
- Specifying categories of reviewers, such as backend, frontend, quality assurance,
database, etc., for all proposed code changes.
database, and so on, for all proposed code changes.
-Automatically designating [Code Owners as eligible approvers](#code-owners-as-eligible-approvers),
-Designating [Code Owners as eligible approvers](#code-owners-as-eligible-approvers),
determined by the files changed in a merge request.
determined by the files changed in a merge request.
-[Requiring approval from a security team](#security-approvals-in-merge-requests-ultimate)
-[Requiring approval from a security team](#security-approvals-in-merge-requests-ultimate)
before merging code that could introduce a vulnerability.**(ULTIMATE)**
before merging code that could introduce a vulnerability.**(ULTIMATE)**
...
@@ -50,14 +50,10 @@ be merged, and optionally which users should do the approving. Approvals can be
...
@@ -50,14 +50,10 @@ be merged, and optionally which users should do the approving. Approvals can be
If no approval rules are defined, any user can approve a merge request, though the default
If no approval rules are defined, any user can approve a merge request, though the default
minimum number of required approvers can still be set in the [project settings for merge request approvals](#merge-request-approvals-project-settings).
minimum number of required approvers can still be set in the [project settings for merge request approvals](#merge-request-approvals-project-settings).
Approval rules define how many approvals a merge request must receive before it can
You can opt to define one single rule to approve a merge request among the available rules
be merged, and optionally which users should do the approving. Approvals can be defined:
or choose more than one. Single approval rules are available in GitLab Starter and higher tiers,
while [multiple approval rules](#multiple-approval-rules-premium) are available in
If no approval rules are defined, any user can approve a merge request, though the default
minimum number of required approvers can still be set in the [project settings for merge request approvals](#merge-request-approvals-project-settings).
NOTE: **Note:**
NOTE: **Note:**
On GitLab.com, you can add a group as an approver if you're a member of that group or the
On GitLab.com, you can add a group as an approver if you're a member of that group or the
...
@@ -88,6 +84,11 @@ if [**Prevent author approval**](#allowing-merge-request-authors-to-approve-thei
...
@@ -88,6 +84,11 @@ if [**Prevent author approval**](#allowing-merge-request-authors-to-approve-thei
and [**Prevent committers approval**](#prevent-approval-of-merge-requests-by-their-committers)(disabled by default)
and [**Prevent committers approval**](#prevent-approval-of-merge-requests-by-their-committers)(disabled by default)
are enabled on the project settings.
are enabled on the project settings.
[Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/10294) in [GitLab Starter](https://about.gitlab.com/pricing/) 13.3,
when an eligible approver comments on a merge request, it appears in the **Commented by** column of the Approvals widget,
indicating who has engaged in the merge request review. Authors and reviewers can also easily identify who they should reach out
to if they have any questions or inputs about the content of the merge request.
##### Implicit Approvers
##### Implicit Approvers
If the number of required approvals is greater than the number of assigned approvers,
If the number of required approvals is greater than the number of assigned approvers,
...
@@ -187,9 +188,6 @@ a rule is already defined.
...
@@ -187,9 +188,6 @@ a rule is already defined.
When an [eligible approver](#eligible-approvers) approves a merge request, it will
When an [eligible approver](#eligible-approvers) approves a merge request, it will
reduce the number of approvals left for all rules that the approver belongs to.
reduce the number of approvals left for all rules that the approver belongs to.
When an [eligible approver](#eligible-approvers) comments on a merge request, it
appears in the **Commented by** column. This feature was [introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/10294) in GitLab 13.3.