About using rulesets for code scanning merge protection
Remarque
- Merge protection with rulesets is not related to status checks. For more information about status checks, see À propos des vérifications d’état.
- 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 Prise en charge de SARIF pour l’analyse du code.
You can use rulesets to prevent pull requests from being merged when one of the following conditions is met:
- Un outil requis a trouvé une alerte code scanning d’une gravité définie dans un ensemble de règles.
- L’analyse de l’outil code scanning requise est toujours en cours.
- Un outil code scanning requis n’est pas configuré pour le référentiel.
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 À propos des alertes d’analyse du code.
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 À propos des ensembles de règles.
Creating a merge protection ruleset for a repository
-
Sur GitHub, accédez à la page principale du référentiel.
-
Sous le nom de votre référentiel, cliquez sur Paramètres. Si vous ne voyez pas l’onglet « Paramètres », sélectionnez le menu déroulant , puis cliquez sur Paramètres.

-
Dans la barre latérale gauche, sous « Code et automatisation », cliquez sur Règles, puis sur Ensembles de règles.

-
Click New ruleset.
-
To create a ruleset targeting branches, click New branch ruleset.
-
Sous « Nom de l’ensemble de règles », tapez un nom pour l’ensemble de règles.
-
Pour modifier l’état d’application par défaut, vous pouvez cliquer sur Désactivé et sélectionner un état d’application.
-
Sous « Protections de branche », sélectionnez Exiger des résultats code scanning.
-
Sous « Outils et seuils d’alerte requis », cliquez sur Ajouter un outil et sélectionnez un outil code scanning dans la liste déroulante. Par exemple, « CodeQL ».
-
À côté du nom d’un outil code scanning :
- Cliquez sur Alertes et sélectionnez l’une des alertes : Aucun, Erreurs, Erreurs et Avertissements ou Tout.
- Cliquez sur Alertes de sécurité et sélectionnez l’une des alertes suivantes : Aucun, Critique, Élevé ou supérieur, Moyen ou Supérieur, ou Tout.

Pour plus d’informations sur les niveaux de gravité d’alerte et de sécurité, consultez À propos des alertes d’analyse du code.
For more information about managing rulesets in a repository, see Gestion des ensembles de règles d’un dépôt.
Creating a merge protection ruleset for all repositories in an organization
-
Dans le coin supérieur droit de GitHub, cliquez sur votre photo de profil, puis sur Vos organisations.
-
En regard de l’organisation, cliquez sur Paramètres.
-
Dans la barre latérale gauche, dans la section « Code, planification et automatisation », cliquez sur Repository, puis cliquez sur Jeux de règles.

-
Click New ruleset.
-
To create a ruleset targeting branches, click New branch ruleset.
-
Sous « Nom de l’ensemble de règles », tapez un nom pour l’ensemble de règles.
-
Pour modifier l’état d’application par défaut, vous pouvez cliquer sur Désactivé et sélectionner un état d’application.
-
Sous « Protections de branche », sélectionnez Exiger des résultats code scanning.
-
Sous « Outils et seuils d’alerte requis », cliquez sur Ajouter un outil et sélectionnez un outil code scanning dans la liste déroulante. Par exemple, « CodeQL ».
-
À côté du nom d’un outil code scanning :
- Cliquez sur Alertes et sélectionnez l’une des alertes : Aucun, Erreurs, Erreurs et Avertissements ou Tout.
- Cliquez sur Alertes de sécurité et sélectionnez l’une des alertes suivantes : Aucun, Critique, Élevé ou supérieur, Moyen ou Supérieur, ou Tout.

Pour plus d’informations sur les niveaux de gravité d’alerte et de sécurité, consultez À propos des alertes d’analyse du code.
For more information about managing rulesets for repositories in an organization, see Gestion des ensembles de règles pour les dépôts de votre organisation.
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 Points de terminaison d’API REST pour les règles.