Skip to main content

Управление наборами правил для репозиториев в организации

Вы можете изменять, отслеживать и удалять существующие наборы правил, чтобы изменить способ взаимодействия людей с репозиториями в организации.

Кто может использовать эту функцию?

Organization owners and users with the "Manage organization ref update rules and rulesets" permission can manage rulesets at the organization level.

Об управлении наборами правил для организации

После создания набора правил на уровне организации можно внести изменения в набор правил, чтобы изменить способ взаимодействия людей с целевыми репозиториями. Например, можно добавить правила для более эффективной защиты ветвей или тегов в этих репозиториях, или вы можете переключить набор правил с режима "Оценка" на "Активный" после тестирования его влияния на взаимодействие с участником для репозиториев. Наборы правил организации, применяемые к филиалам репозитория, больше не позволяют администратору репозитория переименовать ветви целевого репозитория или изменить ветвь по умолчанию на другую ветвь. Администраторы репозитория могут создавать и удалять ветви до тех пор, пока у них есть соответствующие разрешения.

Делегированный обход для наборов правил push-уведомлений позволяет управлять тем, кто может обойти защиту от push-уведомлений и которые должны быть разрешены заблокированными push-отправками.

При делегированном обходе участники репозитория должны запрашивать "обход привилегий" при отправке фиксаций, содержащих ограниченное содержимое. Запрос отправляется в назначенную группу рецензентов, которые либо утверждают, либо запрещают запрос об обходе правил отправки.

Если запрос на обход правил принудительной отправки утвержден, участник может отправить фиксацию, содержащую ограниченное содержимое. Если запрос отклонен, участник должен удалить содержимое из фиксации (или фиксации), содержащее ограниченное содержимое, прежде чем повторно отправить его.

Чтобы настроить делегированный обход, владелец организации или администраторы репозитория сначала создадут список обхода. Список обходов включает определенные роли и команды, такие как администраторы команды или репозитория, которые контролируют запросы на обход принудительной защиты. Дополнительные сведения см. в разделе [AUTOTITLE и Управление наборами правил для репозиториев в организации](/repositories/configuring-branches-and-merges-in-your-repository/managing-rulesets/about-rulesets).

Для управления наборами правил можно использовать ИНТЕРФЕЙСы API REST и GraphQL. Дополнительные сведения см. в разделе [AUTOTITLE и Конечные точки REST API для правил](/graphql/reference/mutations#createrepositoryruleset).

Примечание.

Любой пользователь с доступом на чтение к репозиторию может просматривать активные наборы правил, работающие в этом репозитории.

Изменение набора правил

Вы можете изменить набор правил для изменения частей набора правил, таких как имя, обход разрешений или правил. Вы также можете изменить набор правил, чтобы изменить его состояние, например, если требуется включить или временно отключить набор правил.

  1. В правом верхнем углу GitHub, щелкните рисунок профиля, а затем выберите октикона "организация" aria-hidden="true" aria-label="organization" %} Ваши организации.

  2. Выберите организацию, кликнув по ней.

  3. Под именем организации щелкните Settings. Если вкладка "Параметры" не отображается, выберите раскрывающееся меню и нажмите кнопку "Параметры".

    Снимок экрана: вкладки в профиле организации. Вкладка "Параметры" выделена темно-оранжевым цветом.

  4. В левой боковой панели в разделе "Код, планирование и автоматизация" щелкните Репозиторий, а затем щелкните "Правила".

    Снимок экрана: страница параметров организации. На боковой панели ссылка с меткой "Наборы правил" описывается оранжевым цветом.

  5. На странице "Наборы правил" щелкните имя набора правил, который требуется изменить.

  6. Измените набор правил по мере необходимости. Сведения о доступных правилах см. в разделе Доступные правила для наборов правил.

  7. В нижней части страницы нажмите кнопку Сохранить изменения.

Удаление набора правил

Совет

Если вы хотите временно отключить набор правил, но не хотите его удалить, можно задать для набора правил значение "Отключено". Дополнительные сведения см. в разделе "Редактирование набора правил".

  1. В правом верхнем углу GitHub, щелкните рисунок профиля, а затем выберите октикона "организация" aria-hidden="true" aria-label="organization" %} Ваши организации.

  2. Выберите организацию, кликнув по ней.

  3. Под именем организации щелкните Settings. Если вкладка "Параметры" не отображается, выберите раскрывающееся меню и нажмите кнопку "Параметры".

    Снимок экрана: вкладки в профиле организации. Вкладка "Параметры" выделена темно-оранжевым цветом.

  4. В левой боковой панели в разделе "Код, планирование и автоматизация" щелкните Репозиторий, а затем щелкните "Правила".

    Снимок экрана: страница параметров организации. На боковой панели ссылка с меткой "Наборы правил" описывается оранжевым цветом.

  5. Щелкните имя набора правил, который вы хотите удалить.

  6. Справа от имени набора правил выберите , а затем выберите Удалить набор правил.

    Снимок экрана: страница редактирования набора правил. Под кнопкой, помеченной тремя точками, параметр с меткой "Удалить набор правил" описывается оранжевым цветом.

Использование журнала наборов правил

Журнал набора правил выводит события, активированные изменениями, влияющими на наборы правил за последние 180 дней.

Вы можете просмотреть все изменения в наборе правил и вернуться к определенной итерации. Вы также можете скачать JSON-файл, содержащий конфигурацию набора правил при определенной итерации. Список обходов набора правил исключается из экспортированного JSON-файла.

  1. В правом верхнем углу GitHub, щелкните рисунок профиля, а затем выберите октикона "организация" aria-hidden="true" aria-label="organization" %} Ваши организации.

  2. Выберите организацию, кликнув по ней.

  3. Под именем организации щелкните Settings. Если вкладка "Параметры" не отображается, выберите раскрывающееся меню и нажмите кнопку "Параметры".

    Снимок экрана: вкладки в профиле организации. Вкладка "Параметры" выделена темно-оранжевым цветом.

  4. В левой боковой панели в разделе "Код, планирование и автоматизация" щелкните Репозиторий, а затем щелкните "Правила".

    Снимок экрана: страница параметров организации. На боковой панели ссылка с меткой "Наборы правил" описывается оранжевым цветом.

  5. Чтобы просмотреть журнал изменений в наборе правил, выберите справа от имени набора правил, а затем выберите History.

    Снимок экрана: страница для наборов правил репозитория. Под кнопкой, помеченной тремя точками, параметр с меткой "Журнал" описывается оранжевым цветом.

  6. Справа от конкретной итерации выберите , а затем нажмите кнопку "Сравнить изменения, восстановить или скачать".

    Снимок экрана: страница журнала наборов правил репозитория. Раскрывающееся меню с тремя точками развернуто и выделено оранжевым контуром.

Импорт набора правил

Вы можете импортировать набор правил из другого репозитория или организации с помощью экспортированного JSON-файла из предыдущего раздела. Это может быть полезно, если вы хотите применить один и тот же набор правил к нескольким репозиториям или организациям.

  1. В правом верхнем углу GitHub, щелкните рисунок профиля, а затем выберите октикона "организация" aria-hidden="true" aria-label="organization" %} Ваши организации.

  2. Выберите организацию, кликнув по ней.

  3. Под именем организации щелкните Settings. Если вкладка "Параметры" не отображается, выберите раскрывающееся меню и нажмите кнопку "Параметры".

    Снимок экрана: вкладки в профиле организации. Вкладка "Параметры" выделена темно-оранжевым цветом.

  4. В левой боковой панели в разделе "Код, планирование и автоматизация" щелкните Репозиторий, а затем щелкните "Правила".

    Снимок экрана: страница параметров организации. На боковой панели ссылка с меткой "Наборы правил" описывается оранжевым цветом.

  5. Выберите раскрывающийся список "Создать правила", а затем нажмите кнопку "Импорт набора правил".

    Снимок экрана: страница для наборов правил репозитория. Раскрывающееся меню "Создать набор правил" развернуто, а параметр "Импорт набора правил" описан оранжевым цветом.

  6. Откройте экспортируемый JSON-файл.

  7. Просмотрите импортированный набор правил и нажмите кнопку "Создать".

Просмотр аналитических сведений для наборов правил

Вы можете просмотреть аналитические сведения о наборах правил, чтобы узнать, как наборы правил влияют на репозитории в организации. На странице "Аналитика правил" вы увидите временную шкалу следующих действий пользователя. Фильтры можно использовать для поиска нужных элементов.

  • Действия, которые были проверены на наличие одного или нескольких наборов правил и переданы.
  • Действия, которые были проверены на наличие одного или нескольких наборов правил и завершились ошибкой.
  • Действия, в которых кто-то обошел один или несколько наборов правил.

Если набор правил выполняется в режиме "Оценка", можно увидеть действия, которые были бы переданы или завершились ошибкой, если набор правил был активным.

Кроме того, эти инсайты доступны через REST API наборов правил.

Снимок экрана: страница "Аналитика правил" Три действия помечены как "Pass", "Обход" и "Сбой". Не удалось выполнить действие с меткой "оценка".

  1. В правом верхнем углу GitHub, щелкните рисунок профиля, а затем выберите октикона "организация" aria-hidden="true" aria-label="organization" %} Ваши организации.

  2. Выберите организацию, кликнув по ней.

  3. Под именем организации щелкните Settings. Если вкладка "Параметры" не отображается, выберите раскрывающееся меню и нажмите кнопку "Параметры".

    Снимок экрана: вкладки в профиле организации. Вкладка "Параметры" выделена темно-оранжевым цветом.

  4. В левой боковой панели в разделе "Код, планирование и автоматизация" щелкните Репозиторий, а затем щелкните "Аналитика правил".

    Снимок экрана: страница параметров организации. На боковой панели ссылка с меткой "Аналитика правил" описывается оранжевым цветом.

  5. На странице "Аналитика правил" используйте раскрывающееся меню в верхней части страницы, чтобы отфильтровать действия по набору правил, репозиторию, субъекту и периоду времени.

  6. Чтобы узнать, какие определенные правила завершились ошибкой или требуется обход, щелкните , а затем разверните имя набора правил.

    Снимок экрана: страница "Аналитика правил" Справа от события с меткой "не разрешено", значок трех горизонтальных точек описывается оранжевым цветом.

Управление запросами для обхода правил push-отправки

Вы можете просматривать и управлять всеми запросами для обхода привилегий на странице "Обход запросов", расположенной в параметрах правил репозитория.

  1. На GitHubперейдите на главную страницу репозитория.

  2. Под именем репозитория щелкните Settings. Если вкладка "Параметры" не отображается, выберите раскрывающееся меню и нажмите кнопку "Параметры".

    Снимок экрана: заголовок репозитория с вкладками. Вкладка "Параметры" выделена темно-оранжевым контуром.

  3. Щелкните " Обходить запросы".

Запросы можно фильтровать по утверждающий (член списка обхода), запрашивающий (участник, выполняющий запрос), временный интервал и состояние. Следующие состояния назначаются запросу:

СостояниеDescription
CancelledЗапрос был отменен участником.
CompletedЗапрос был утвержден, и фиксации были отправлены в репозиторий.
DeniedЗапрос был рассмотрен и отклонен.
ExpiredСрок действия запроса истек. Запросы действительны в течение 7 дней.
OpenЗапрос еще не был проверен или утвержден, но фиксации не были отправлены в репозиторий.

Когда участник запрашивает права обхода привилегий для отправки фиксации, содержащей ограниченное содержимое, члены списка обхода получают уведомление по электронной почте, содержащее ссылку на запрос. Затем члены списка обхода должны иметь 7 дней, чтобы проверить и утвердить или запретить запрос до истечения срока действия запроса.

Участник уведомляется о решении по электронной почте и должен принять необходимые меры. Если запрос утвержден, участник может отправить фиксацию, содержащую ограниченное содержимое в репозиторий. Если запрос запрещен, участник должен удалить ограниченное содержимое из фиксации, чтобы успешно отправить фиксацию в репозиторий.