Skip to main content

Managing code rulesets for repositories in your enterprise

You can edit, monitor, and delete existing rulesets to alter how people can interact with repositories in your enterprise.

¿Quién puede utilizar esta característica?

Enterprise owners

After creating a ruleset at the enterprise level, you can make changes to the ruleset to alter how people can interact with the targeted repositories. For example, you can:

  • Add rules to better protect the branches or tags in those repositories
  • Switch your ruleset from "Evaluate" mode to "Active" after testing its effects on the contributor experience

Note

Cualquier persona con acceso de lectura a un repositorio puede ver los conjuntos de reglas activos en ese repositorio.

About delegated bypass

Note

La omisión delegada para las reglas de inserción se encuentra actualmente en versión preliminar pública y está sujeta a cambios.

La omisión delegada para los conjuntos de reglas de inserción le permite controlar quién puede omitir la protección de inserción y qué inserciones bloqueadas deben permitirse.

Con la omisión delegada, los colaboradores a un repositorio deben solicitar “privilegios de omisión” al insertar confirmaciones que contienen contenido restringido. La solicitud se envía a un grupo designado de revisores, que aprueba o deniega la solicitud para omitir las reglas de inserción.

Si se aprueba la solicitud para omitir las reglas de inserción, el colaborador puede insertar la confirmación con contenido restringido. Si se deniega la solicitud, el colaborador debe eliminar el contenido de la confirmación (o las confirmaciones) que contiene el contenido restringido antes de volver a insertarlo.

Para configurar la omisión delegada, los propietarios de la organización o los administradores del repositorio crean primero una "lista de omisión". La lista de omisión incluye roles y equipos específicos, como los administradores del equipo o del repositorio, que supervisan las solicitudes para omitir la protección de inserción. Para más información, consulta Administración de conjuntos de reglas para repositorios de la organización y Acerca de los conjuntos de reglas.

Editing a ruleset

You can edit a ruleset to change parts of the ruleset, such as the name, bypass permissions, or rules. You can also edit a ruleset to change its status, such as if you want to enable or temporarily disable a ruleset.

  1. En la esquina superior derecha de GitHub, haz clic en la fotografía del perfil.

  2. En función de tu entorno, haz clic en Your enterpriseo en Your enterprises y, a continuación, haz clic en la empresa que deseas ver.

  3. In the left sidebar, in the "Policies" section, click Code, then click Rulesets.

  4. On the "Rulesets" page, click the name of the ruleset you want to edit.

  5. Change the ruleset as required.

    For information on the available rules, see "Reglas disponibles para conjuntos de reglas"

  6. At the bottom of the page, click Save changes.

Deleting a ruleset

Note

Cualquier persona con acceso de lectura a un repositorio puede ver los conjuntos de reglas activos en ese repositorio.

  1. En la esquina superior derecha de GitHub, haz clic en la fotografía del perfil.
  2. En función de tu entorno, haz clic en Your enterpriseo en Your enterprises y, a continuación, haz clic en la empresa que deseas ver.
  3. In the left sidebar, in the "Policies" section, click Code, then click Rulesets.
  4. To the right of the ruleset's name, select , then click Delete ruleset.

Using ruleset history

Note

  • El historial del conjunto de reglas está actualmente en versión preliminar pública y está sujeta a cambios.
  • Solo se incluyen en el historial del conjunto de reglas los cambios realizados en un conjunto de reglas después de la versión versión preliminar pública, el 11 de octubre de 2023.

Puedes ver todos los cambios en un conjunto de reglas y volver a una iteración específica. También puedes descargar un archivo JSON que contenga la configuración del conjunto de reglas en una iteración específica. La lista de omisión de un conjunto de reglas se excluye del archivo JSON exportado.

  1. En la esquina superior derecha de GitHub, haz clic en la fotografía del perfil.
  2. En función de tu entorno, haz clic en Your enterpriseo en Your enterprises y, a continuación, haz clic en la empresa que deseas ver.
  3. In the left sidebar, in the "Policies" section, click Code, then click Rulesets.
  4. To view the history of changes to the ruleset, select to the right of the ruleset's name, then click History.
  5. To the right of the specific iteration, select , then click Compare changes, Restore, or Download.

Importing a ruleset

You can import a ruleset from another repository, organization or enterprise using the exported JSON file from the previous section. This can be useful if you want to apply the same ruleset to multiple repositories, organizations or enterprises.

  1. En la esquina superior derecha de GitHub, haz clic en la fotografía del perfil.
  2. En función de tu entorno, haz clic en Your enterpriseo en Your enterprises y, a continuación, haz clic en la empresa que deseas ver.
  3. In the left sidebar, in the "Policies" section, click Code, then click Rulesets.
  4. Select the New ruleset dropdown, then click Import a ruleset.
  5. Open the exported JSON file.
  6. Review the imported ruleset and click Create.

Viewing insights for rulesets

You can view insights for rulesets to see how rulesets are affecting the repositories in your enterprise. En la página "Información sobre la regla", verás una escala de tiempo de las siguientes acciones de usuario. Puedes usar filtros para encontrar lo que buscas.

  • Acciones que se han comprobado con uno o varios conjuntos de reglas y que se han aprobado.
  • Acciones que se han comprobado con uno o varios conjuntos de reglas y que han generado un error.
  • Acciones en las que alguien ha omitido uno o varios conjuntos de reglas.

Si un conjunto de reglas se ejecuta en modo "Evaluar", puedes ver las acciones que se habrían aprobado o generado un error si el conjunto de reglas hubiera estado activo.

Captura de pantalla "Información sobre la regla". Se muestran tres acciones: una marcada como "aprobada", una marcada como "omitida" y otra marcada como "error" con una etiqueta "evaluar".

If a ruleset is running in "Evaluate" mode, you can see actions that would have passed or failed if the ruleset had been active.

  1. En la esquina superior derecha de GitHub, haz clic en la fotografía del perfil.
  2. En función de tu entorno, haz clic en Your enterpriseo en Your enterprises y, a continuación, haz clic en la empresa que deseas ver.
  3. In the left sidebar, in the "Policies" section, click Code, then click Rulesets.
  4. On the "Rule insights" page, use the dropdown menus at the top of the page to filter the actions by ruleset, repository, actor, and time period.
  5. To see which specific rules failed or required a bypass, click , then expand the name of the ruleset.

Administración de solicitudes para omitir las reglas de inserción

Note

La omisión delegada para las reglas de inserción se encuentra actualmente en versión preliminar pública y está sujeta a cambios.

Puede ver y administrar todas las solicitudes de privilegios de omisión en la página “Solicitudes de omisión”, ubicada en la pestaña Configuración de reglas del repositorio.

  1. En GitHub, navegue hasta la página principal del repositorio.

  2. En el nombre del repositorio, haz clic en Configuración. Si no puedes ver la pestaña "Configuración", selecciona el menú desplegable y, a continuación, haz clic en Configuración.

    Captura de pantalla de un encabezado de repositorio en el que se muestran las pestañas. La pestaña "Configuración" está resaltada con un contorno naranja oscuro.

  3. Haga clic en Solicitudes de omisión.

Puede filtrar las solicitudes por aprobador (miembro de la lista de omisión), solicitante (colaborador que realiza la solicitud), período de tiempo y estado. Se asignan los siguientes estados a una solicitud:

EstadoDescripción
CancelledEl colaborador ha cancelado la solicitud.
CompletedLa solicitud se ha aprobado y las confirmaciones se han insertado en el repositorio.
DeniedSe ha revisado y denegado la solicitud.
ExpiredLa solicitud ha expirado. Las solicitudes son válidas durante 7 días.
OpenLa solicitud aún no se ha revisado o se ha aprobado, pero las confirmaciones no se han insertado en el repositorio.

Cuando un colaborador solicita privilegios de omisión para insertar una confirmación con contenido restringido, todos los miembros de la lista de omisión reciben una notificación por correo electrónico que contiene un vínculo a la solicitud. Los miembros de la lista de omisión tienen 7 días para revisar y aprobar o denegar la solicitud antes de que esta expire.

El colaborador recibe una notificación de la decisión por correo electrónico y debe realizar la acción necesaria. Si se aprueba la solicitud, el colaborador puede insertar la confirmación que con contenido restringido en el repositorio. Si se deniega la solicitud, el colaborador debe eliminar el contenido restringido de la confirmación para insertar correctamente la confirmación en el repositorio.