Правила апрувов помогают контролировать качество кода и обеспечивать обязательное ревью перед слиянием. С их помощью можно определить, сколько апрувов нужно получить, кто именно должен участвовать в проверке, и в каких случаях правило должно срабатывать.
Эти правила работают на уровнях группы, проекта и запросов на слияние, наследуются вниз по иерархии и позволяют централизованно управлять процессом ревью. Вместе с CODEOWNERS они формируют гибкую и надёжную систему контроля изменений, защищая важные части репозитория от нежелательных или непросмотренных правок.
Определение правил
Правила можно определить на уровне:
- Группы (доступно для роли Maintainer). Чтобы определить правила для группы, перейдите в «Группа» → «Настройки» → «Запросы на слияние» → «Правила апрува».
- Проекта (доступно для роли Maintainer). Чтобы определить правила для проекта, перейдите в «Настройки» → «Запросы на слияние» → «Правила апрува».
- Запроса на слияние (доступно для роли Developer). Чтобы определить правила для запроса на слияние, на странице создания или редактирования MR раскройте секцию «Правила апрува».

Описание столбцов таблицы правил апрува
- Правило — содержит название правила и признак наследования. Запись «Требуется группой Gitlab Org» означает, что правило создано в группе Gitlab Org.
- Апруверы — содержит список пользователей и групп, чьи апрувы учитываются при проверке выполнения правила.
- Требуемое количество апрувов — количество апрувов, которое необходимо получить от пользователей или участников групп, указанных в столбце «Апруверы». Значение
Любой подходящий пользовательозначает, что будет засчитан апрув от любого пользователя, который имеет право его выполнить. - Целевая ветка — правило применяется только если запрос на слияние направлен в указанную ветку. В качестве названия ветки можно использовать wildcard (
*).
Наследование правил
Правила апрувов наследуются каскадно: группа → подгруппа → проект → запрос на слияние. Механизм наследования имеет следующие особенности:
-
Когда создаётся подгруппа, проект или запрос на слияние, правила родительской сущности автоматически появляются в новой сущности как унаследованные. В таблице правил рядом с названием отображается, на каком уровне правило было изначально создано.
-
При создании новых правил на уровне группы или проекта они автоматически добавляются во все существующие нижестоящие подгруппы и проекты. В уже созданные запросы на слияние новые правила не добавляются.
-
Если изменить правило на родительском уровне, изменения автоматически применяются ко всем унаследованным правилам на нижестоящих уровнях. Например, если проект унаследовал правило из группы и в группе изменить количество требуемых апрувов, то это изменение отразится и в проекте.
-
Если же изменить унаследованное правило в дочерней сущности, оно превращается в самостоятельное правило. То есть правило перестаёт быть связанным с родительским: на дочернем уровне остаётся собственная копия с новыми параметрами, и дальнейшие изменения правила в группе уже не затронут это правило в проекте.
Правила для группы
Как найти: «Группа» → «Настройки» → «Запросы на слияние» → «Правила апрува».
Правила, созданные на уровне группы, автоматически добавляются в новые проекты и подгруппы как унаследованные.
Управлять правилами группы могут участники группы с ролью Maintainer.
В разделе «Правила апрува» отображается список правил, настроенных на уровне группы.
Создание правила в группе
Создать новое правило можно, нажав кнопку «Добавить правило апрува» и указав:
- Название правила.
- Целевую ветку (доступны пресеты «Все ветки», «Все защищенные ветки», «Ввести название ветки», либо wildcard
*). - Требуемое количество апрувов.
- Апруверов — прямых участников группы или группы на инстансе. При добавлении группы учитываются апрувы только от прямых участников добавленной группы.
Правила для проекта
Как найти: «Проект» → «Настройки» → «Запросы на слияние» → «Правила апрува».
Правила, созданные на уровне проекта, автоматически добавляются в новые запросы на слияние как унаследованные.
Управлять правилами проекта могут участники проекта с ролью Maintainer.
Создание правила в проекте
При создании нового правила можно указать:
- Название правила.
- Целевую ветку (можно выбрать пресет, указать название ветки или регулярное выражение; также можно выбрать защищённую ветку проекта).
- Требуемое количество апрувов.
- Апруверов — прямых или унаследованных участников проекта, а также группы, приглашённые в проект с ролью Reporter. Со стороны добавленной группы учитываются апрувы только от прямых участников группы.
Правила для запроса на слияние
Как найти: на странице создания или редактирования MR необходимо раскрыть секцию «Правила апрува».
Правилами запроса на слияние могут управлять пользователи с ролью Developer.

На странице MR доступна кнопка «Сбросить к настройкам проекта по умолчанию» — она удаляет текущие правила и добавляет все правила проекта, которые применимы для целевой ветки MR.
Создание правила в MR
При создании правила можно указать:
- Название правила.
- Требуемое количество апрувов.
- Апруверов — прямых или унаследованных участников проекта, а также группы с ролью Reporter или выше. Со стороны группы учитываются апрувы только от прямых участников группы.
Дополнительные настройки апрувов

На уровне проекта или группы можно настроить дополнительные параметры:
- Запретить апрув автору запроса на слияние — автор MR не может делать апрув.
- Запретить апрув пользователю, который добавил коммиты — коммиттеры не могут делать апрувы.
- Запретить редактирование правил в наследуемых сущностях — при включении:
- правила копируются в дочерние сущности и становятся недоступны для редактирования или удаления;
- нижестоящие группы и проекты могут создавать только собственные правила;
- в существующие MR правила автоматически не добавляются;
- текущие настройки апрувов также распространяются на все дочерние сущности.
- При добавлении коммита — секция определяет, должны ли сбрасываться существующие апрувы при появлении нового коммита.
Кто может делать апрувы
Если настройки апрувов этого не запрещают, апрувы могут делать:
- все участники проекта с ролью Developer и выше;
- участники с ролью Planner и выше, если они назначены ответственными в запросе на слияние.