À 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
-
Sur GitHub, accédez à la page principale du référentiel.
-
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.
-
Dans la barre latérale gauche, sous « Code et automatisation », cliquez sur Règles, puis sur Ensembles de règles.
-
Cliquez sur Nouveau jeu de données.
-
Pour créer un ensemble de règles ciblant des branches, cliquez sur Nouvel ensemble de règles de branche.
-
Sous « Nom de l’ensemble de règles », tapez un nom pour l’ensemble de règles.
-
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 ».
-
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 ».
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 pour tous les référentiels d’une organisation
-
Dans le coin supérieur droit de GitHub, sélectionnez votre photo de profil, puis cliquez 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 Référentiel , puis sur Ensembles de règles.
-
Cliquez sur Nouveau jeu de données.
-
Pour créer un ensemble de règles ciblant des branches, cliquez sur Nouvel ensemble de règles de branche.
-
Sous « Nom de l’ensemble de règles », tapez un nom pour l’ensemble de règles.
-
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 ».
-
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 ».
Pour plus d’informations sur la gestion des ensembles de règles pour les référentiels d’une organisation, consultez « Gestion des ensembles de règles pour les dépôts de votre organisation. »
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 ».