PR Gates

Ce produit n'est pas pris en charge par le site Datadog que vous avez sélectionné. ().

Présentation

Les PR Gates vous permettent de contrôler la sécurité et la qualité des logiciels en configurant des règles pour empêcher la fusion des pull requests (PR) contenant du code non conforme. Empêcher la fusion des pull requests (PR) contenant du code non conforme peut garantir que le code finalement déployé en production respecte des normes organisationnelles élevées, réduisant ainsi les incidents et minimisant les comportements indésirables.

Une règle SCA qui déclenche un échec si des vulnérabilités de bibliothèque de gravité critique ou élevée sont détectées dans le dépôt.

Les PR Gates, similaires aux Datadog Monitors, consomment les données et les résultats produits par les produits Datadog compatibles et appliquent des conditions à ces résultats pour déterminer si une PR répond à vos normes organisationnelles. Pour éviter d’impacter inutilement la vélocité de vos développeurs, les PR Gates ne bloquent que les violations introduites par les modifications de code de la PR en question, et non les résultats qui existaient déjà dans votre dépôt avant la création de la PR et de sa branche. Par exemple, si vous configurez les PR Gates pour bloquer les vulnérabilités de code de gravité critique, les PR Gates échouent et bloquent la PR uniquement si un développeur introduit une nouvelle vulnérabilité de code critique dans le cadre de cette PR.

Vous pouvez configurer des règles PR Gates pour les catégories suivantes. Veuillez noter que le produit compatible doit être en cours d’exécution sur vos dépôts souhaités avant que les PR Gates ne puissent commencer à agir sur les PR concernées :

Type de sourceTypes de conditions
Static Code Analysis (SAST)- Vulnérabilités de code
- Violations de la qualité du code
Software Composition Analysis- Vulnérabilités de bibliothèque
- Violations de licence de bibliothèque
Code Coverage- Couverture de code globale
- Couverture de code de correctif
Analyse de l’infrastructure en tant que code- Vulnérabilités IaC
Secret Scanning- Secrets divulgués
Nouveaux tests instables- Nouveaux tests instables

Après avoir créé des règles PR Gates, Datadog crée automatiquement des checks sur vos pull requests en utilisant les intégrations GitHub, GitLab Source Code, Azure DevOps Source Code ou Bitbucket Cloud Source Code. Pour appliquer les PR Gates, définissez ces checks comme requis dans GitHub, Azure DevOps ou Bitbucket Cloud lorsque vous êtes prêt à les appliquer. Dans GitLab, définissez le compte de service Datadog comme approbateur requis sur les merge requests. Voir Configurer les règles PR Gate.

Les PR Gates permettent également les réactions par emoji (similaires aux commentaires de PR). Datadog publie une réaction 👀 sur la description de la PR lorsqu’un produit Datadog doté de PR Gates attend toujours l’arrivée des résultats. Une fois que tous les résultats sont arrivés :

  • Si tous les résultats sont positifs, la réaction est remplacée par 👍.
  • Si au moins une anomalie est détectée, la réaction 👀 est supprimée car le commentaire récapitulatif inclut des détails sur les anomalies à la place.
Les PR Gates ne sont pas pris en charge sur les pull requests ciblant une branche de destination située dans un dépôt différent de celui de la branche source (c'est-à-dire les dépôts issus d'un fork essayant de fusionner dans le dépôt principal). Les PR Gates ne peuvent pas être définis comme requis sur les dépôts GitHub utilisant une file d'attente de fusion.

Types de règles

Les PR Gates proposent les types de règles suivants :

Vous pouvez créer des règles pour empêcher la fusion de modifications de code lorsque les lignes modifiées d’une pull request introduisent au moins une nouvelle vulnérabilité de code ou une violation de la qualité du code d’une certaine gravité.

Une règle PR Gate qui échoue lorsqu'une ou plusieurs nouvelles violations de la qualité du code de niveau erreur sont contenues dans le dépôt

Vous pouvez créer des règles pour empêcher la fusion de modifications de code lorsque les lignes modifiées d’une pull request introduisent au moins une nouvelle vulnérabilité de bibliothèque d’une certaine gravité ou au moins une nouvelle bibliothèque avec une licence interdite.

Une règle PR Gate qui échoue lorsqu'une ou plusieurs vulnérabilités de bibliothèque de gravité critique ou élevée sont contenues dans le dépôt

Vous pouvez créer des règles pour empêcher la fusion de modifications de code lorsque les lignes modifiées d’une pull request entraînent une baisse de la couverture de code globale du dépôt en dessous d’un certain pourcentage ou si la couverture de patch de ces lignes est inférieure à un certain seuil.

Une règle PR Gate qui échoue lorsqu'une ou plusieurs vulnérabilités de bibliothèque de gravité critique ou élevée sont contenues dans le dépôt

Vous pouvez créer des règles pour empêcher la fusion de modifications de code lorsque les lignes modifiées d’une pull request introduisent au moins une nouvelle vulnérabilité d’infrastructure en tant que code (IaC) d’une certaine gravité.

Une règle PR Gate qui échoue lorsqu'une ou plusieurs vulnérabilités de bibliothèque de gravité critique ou élevée sont contenues dans le dépôt

Vous pouvez créer des règles pour empêcher la fusion de modifications de code lorsque les lignes modifiées d’une pull request introduisent au moins un nouveau secret divulgué d’une certaine gravité.

Une règle PR Gate qui échoue lorsqu'un ou plusieurs secrets divulgués de gravité critique ou élevée sont détectés dans le dépôt.

Vous pouvez créer des règles pour empêcher la fusion de modifications de code lorsqu’une pull request introduit au moins un nouveau test instable.

Une règle PR Gate qui échoue lorsqu'une pull request introduit au moins un nouveau test instable.

Utilisez cette PR Gate avec la détection précoce des instabilités pour détecter les nouveaux tests instables.

Lisez comment configurer une PR Gate pour les nouveaux tests instables.

Pour créer une règle PR Gate, consultez la documentation de configuration.

Gérer les règles

Vous pouvez gérer et mettre à jour les règles PR Gate sur la page PR Gates Rules. Améliorez vos pratiques de sécurité et de qualité en fonction des exigences de votre projet et de vos tolérances au risque.

Vous pouvez voir toutes les règles définies par l’organisation.

Liste des règles PR Gate dans Datadog

Pour aller plus loin