About using rulesets for code scanning merge protection
Nota:
- Merge protection with rulesets is not related to status checks. For more information about status checks, see Acerca de las verificaciones de estado.
- Merge protection with rulesets will not apply to merge queue groups or Dependabot pull requests analyzed by default setup.
- All the lines of code identified by an alert must exist in the pull request diff. For more information, see Soporte de SARIF para escaneo de código.
You can use rulesets to prevent pull requests from being merged when one of the following conditions is met:
- Una herramienta necesaria encontró una alerta code scanning de una gravedad definida en un conjunto de reglas.
- Un análisis de la herramienta code scanning requerida todavía está en curso.
- Una herramienta code scanning requerida no está configurada para el repositorio.
Typically you should use rulesets target long-lived feature branches, where you would like to guarantee that code has been analyzed before pull requests can be merged.
Configuring a code scanning rule will not automatically enable code scanning. For more information about how to enable code scanning, see Configuring default setup for code scanning.
For more information about code scanning alerts, see Acerca de las alertas de análisis de código.
You can set merge protection with rulesets at the repository or organization levels, and for repositories configured with either default setup or advanced setup. You can also use the REST API to set merge protection with rulesets.
For more information about rulesets, see Acerca de los conjuntos de reglas.
Creating a merge protection ruleset for a repository
-
En GitHub, navegue hasta la página principal del repositorio.
-
Debajo del nombre del repositorio, haz clic en Settings. Si no puedes ver la pestaña "Configuración", selecciona el menú desplegable y, a continuación, haz clic en Configuración.

-
En la barra lateral izquierda, en "Código y automatización", haz clic en Reglas y, a continuación, haz clic en Conjuntos de reglas.

-
Click New ruleset.
-
To create a ruleset targeting branches, click New branch ruleset.
-
En «Nombre del conjunto de reglas», escribe un nombre para el conjunto de reglas.
-
Opcionalmente, para cambiar el estado de cumplimiento predeterminado, haz clic en Disabled y selecciona un estado de cumplimiento.
-
En "Protecciones de rama", seleccione Requerir resultados de code scanning.
-
En "Required tools and alert thresholds", haz clic en Add tool y selecciona una herramienta de code scanning con el menú desplegable. Por ejemplo, "CodeQL".
-
Junto al nombre de una herramienta code scanning:
- Haga clic en Alertas y seleccione una de las opciones: Ninguno, Errores, Errores y advertencias o Todos.
- Haga clic en Alertas de seguridad y seleccione una de las opciones: Ninguno, Crítico, Alto o superior, Medio o superior o Todos.

Para más información sobre la gravedad de las alertas y los niveles de gravedad de la seguridad, consulta Acerca de las alertas de análisis de código.
For more information about managing rulesets in a repository, see Administración de conjuntos de reglas de un repositorio.
Creating a merge protection ruleset for all repositories in an organization
-
En la esquina superior derecha de GitHub, haz clic en la foto del perfil y luego en Your organizations.
-
Junto a la organización, haga clic en Settings.
-
En la barra lateral de la izquierda, en la sección "Code, planning, and automation", haz clic en Repository y luego en Rulesets.

-
Click New ruleset.
-
To create a ruleset targeting branches, click New branch ruleset.
-
En «Nombre del conjunto de reglas», escribe un nombre para el conjunto de reglas.
-
Opcionalmente, para cambiar el estado de cumplimiento predeterminado, haz clic en Disabled y selecciona un estado de cumplimiento.
-
En "Protecciones de rama", seleccione Requerir resultados de code scanning.
-
En "Required tools and alert thresholds", haz clic en Add tool y selecciona una herramienta de code scanning con el menú desplegable. Por ejemplo, "CodeQL".
-
Junto al nombre de una herramienta code scanning:
- Haga clic en Alertas y seleccione una de las opciones: Ninguno, Errores, Errores y advertencias o Todos.
- Haga clic en Alertas de seguridad y seleccione una de las opciones: Ninguno, Crítico, Alto o superior, Medio o superior o Todos.

Para más información sobre la gravedad de las alertas y los niveles de gravedad de la seguridad, consulta Acerca de las alertas de análisis de código.
For more information about managing rulesets for repositories in an organization, see Administración de conjuntos de reglas para repositorios de la organización.
Creating a merge protection ruleset with the REST API
You can use the REST API to create a ruleset with the code_scanning rule, which allows you to define specific tools and set alert thresholds. For more information, see Puntos de conexión de la API de REST para reglas.