Skip to main content

Set code scanning merge protection

You can use rulesets to set code scanning merge protection for pull requests.

Qui peut utiliser cette fonctionnalité ?

Propriétaires de l’organisation, gestionnaires de sécurité et membres de l’organisation avec le rôle d’administrateur

Code scanning is available for the following repository types:

  • Public repositories on GitHub.com
  • Organization-owned repositories on GitHub Team, GitHub Enterprise Cloud, or GitHub Enterprise Server, with GitHub Code Security enabled.

About using rulesets for code scanning merge protection

Remarque

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

  1. Sur GitHub, accédez à la page principale du référentiel.

  2. 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.

    Capture d’écran d’un en-tête de dépôt montrant les onglets. L’onglet « Paramètres » est mis en évidence avec un encadré orange foncé.

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

    Capture d’écran de la barre latérale de la page « Paramètres » d’un dépôt. Le sous-menu « Règles » est développé et l’option « Ensembles de règles » est encadrée en orange.

  4. Click New ruleset.

  5. To create a ruleset targeting branches, click New branch ruleset.

  6. Sous « Nom de l’ensemble de règles », tapez un nom pour l’ensemble de règles.

  7. Pour modifier l’état d’application par défaut, vous pouvez cliquer sur Désactivé et sélectionner un état d’application.

  8. Sous « Protections de branche », sélectionnez Exiger des résultats code scanning.

  9. 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 ».

  10. À 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.

    Capture d’écran de la section « Outils et seuils d’alerte requis » des paramètres « Ensembles de règles ».

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

  1. Dans le coin supérieur droit de GitHub, cliquez sur votre photo de profil, puis sur Vos organisations.

  2. En regard de l’organisation, cliquez sur Paramètres.

  3. Dans la barre latérale gauche, dans la section « Code, planification et automatisation », cliquez sur Repository, puis cliquez sur Jeux de règles.

    Capture d’écran de la page des paramètres d’une organisation. Dans la barre latérale, un lien intitulé « Ensembles de règles » est encadré en orange.

  4. Click New ruleset.

  5. To create a ruleset targeting branches, click New branch ruleset.

  6. Sous « Nom de l’ensemble de règles », tapez un nom pour l’ensemble de règles.

  7. Pour modifier l’état d’application par défaut, vous pouvez cliquer sur Désactivé et sélectionner un état d’application.

  8. Sous « Protections de branche », sélectionnez Exiger des résultats code scanning.

  9. 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 ».

  10. À 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.

    Capture d’écran de la section « Outils et seuils d’alerte requis » des paramètres « Ensembles de règles ».

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.