Skip to main content

Définir la protection de fusion d’analyse du code

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 est disponible pour tous les types de référentiels suivants :

  • Des référentiels publics sur GitHub.com
  • Référentiels appartenant à l’organisation sur GitHub Enterprise Cloud avec GitHub Advanced Security activé

À propos de l’utilisation d’ensembles de règles pour la protection de fusion code scanning

Note

  • La protection de fusion avec des ensembles de règles n’est pas liée aux vérifications d’état. Pour plus d’informations sur les vérifications d’état, consultez « À propos des vérifications d’état. »
  • La protection contre la fusion avec des ensembles de règles ne s’appliquera pas aux groupes de file d'attente de fusion ou aux Dependabot demandes de tirage (pull requests) analysées par la configuration par défaut.

Vous pouvez utiliser des ensembles de règles pour empêcher la fusion des demandes de tirage (pull request) lorsque l’une des conditions suivantes est remplie :

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

En règle générale, vous devriez utiliser des ensembles de règles pour les branches de fonctionnalités à long terme, lorsque vous souhaitez garantir que le code a été analysé avant que les demandes de tirage puissent être fusionnées.

La configuration d’une règle code scanning n’activera pas automatiquement code scanning. Pour plus d’informations sur l’activation de l’analyse du code, consultez « Définition de la configuration par défaut pour l’analyse du code ».

Pour plus d’informations sur les alertes code scanning, consultez « À propos des alertes d’analyse du code. »

Vous pouvez définir la protection de fusion avec des ensembles de règles au niveau du référentiel level, et pour les référentiels configurés avec l’installation par défaut ou l’installation avancée. Vous pouvez également utiliser l’API REST pour définir la protection de fusion avec des ensembles de règles.

Pour plus d’informations sur les ensembles de règles, consultez « À propos des ensembles de règles ».

Création d’un ensemble de règles de protection de fusion pour un référentiel

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

  2. Sous le nom de votre dépôt, 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. Cliquez sur Nouveau jeu de données.

  5. Pour créer un ensemble de règles ciblant des branches, cliquez sur Nouvel ensemble de règles de branche.

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

  7. Si vous le souhaitez, pour modifier l’état d’application par défaut, cliquez sur Désactivé et sélectionnez un état d’application. Pour plus d’informations sur les états de mise en œuvre, consultez « À propos des ensembles de règles ».

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

Pour plus d’informations sur la gestion des ensembles de règles dans un référentiel, consultez « Gestion des ensembles de règles d’un dépôt. »

Création d’un ensemble de règles de protection de fusion avec l’API REST

Vous pouvez utiliser l’API REST pour créer un ensemble de règles avec la règle code_scanning, ce qui vous permet de définir des outils spécifiques et de définir des seuils d’alerte. Pour plus d’informations, consultez « Points de terminaison d’API REST pour les règles ».