Configurez les règles PR Gate

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

Présentation

Pour utiliser les PR Gates de Datadog, vous pouvez définir une ou plusieurs règles sur la page PR Gate Rules.

Page des PR Gates dans Datadog

Les PR Gates garantissent que seuls les changements de code qui respectent vos normes de sécurité et de qualité sont fusionnés.

Créer une règle

Pour créer une règle PR Gates dans Datadog :

  1. Accédez à Software Delivery > PR Gates > PR Gate Rules et cliquez sur New Rule.

  2. Sous Select your source, sélectionnez un type de règle :

    • Static Code Analysis (SAST)
    • Software Composition Analysis (SCA)
    • Code Coverage
    • Infrastructure as Code Scanning (IaC)
    • Secret Scanning
    • New Flaky Tests
  3. Sous Define scope, définissez les dépôts que la règle doit évaluer:

    • All repositories : La règle évalue tous les dépôts configurés pour le type de règle.
    • Selected repositories : La règle évalue uniquement les dépôts que vous spécifiez. Utilisez IN pour inclure uniquement les dépôts spécifiés, ou NOT IN pour évaluer tous les dépôts configurés à l’exception de ceux que vous spécifiez.
  4. Sous Define condition, définissez les conditions qui entraîneront l’échec de la règle. Chaque type de règle possède ses propres options de condition, et vous pouvez utiliser les paramètres de condition par défaut existants lorsque vous sélectionnez un type de règle.

    L’exemple suivant illustre une règle d’analyse de code statique (SAST) qui échoue lorsqu’une pull request introduit au moins une violation de vulnérabilité de code d’analyse de code statique avec une gravité d’au moins Critical. La règle évalue tous les dépôts configurés pour l’analyse de code statique :

    Une règle d'analyse de code statique qui s'exécute sur tous les dépôts et échoue lorsqu'une PR présente au moins une vulnérabilité de code d'analyse de code statique avec une gravité d'au moins `Critical`
  5. Sous Preview checks, sélectionnez votre fournisseur de gestion de code source pour prévisualiser le check d’état à ajouter aux pull requests. Pour bloquer les PR lorsqu’une règle échoue, suivez les instructions de votre fournisseur pour exiger que les PR Gates soient validées avant la fusion. Dans GitHub, Azure DevOps et Bitbucket Cloud, cela s’effectue en définissant les checks des PR Gates comme obligatoires. Dans GitLab, cela s’effectue en définissant le compte de service Datadog que vous avez créé lors de l’installation de l’intégration GitLab Source Code en tant qu’approbateur requis :

    Les règles non bloquantes peuvent être utiles lorsque vous déployez une nouvelle règle et souhaitez vérifier son comportement avant de la rendre bloquante.

  6. Cliquez sur Create Rule.

  7. Il est recommandé de tester votre règle PR Gate en créant une nouvelle branche et une nouvelle PR qui introduisent délibérément des modifications de code qui violeraient la condition de la règle. Veuillez noter que les PR Gates ne vont pas :

    • Bloquer rétroactivement les PR existantes, sauf si de nouveaux commits y sont poussés après la création de la règle PR Gate
    • Bloquer les nouvelles PR qui n’introduisent pas de violations dans le cadre de leurs lignes modifiées

Gérer les checks de PR

Les PR Gates créent automatiquement des checks de PR dans les pull requests (merge requests dans GitLab) GitHub, GitLab, Azure DevOps ou Bitbucket Cloud pour chaque type de règle évalué. Le check contient des informations supplémentaires sur l’évaluation de la règle, telles que le motif de l’échec et les événements correspondants dans Datadog. Dans GitLab, les PR Gates utilisent également un compte de service Datadog pour approuver les demandes de fusion lorsque toutes les conditions de vos règles PR Gate sont remplies. Le compte de service est celui que vous avez créé lors de l’installation de l’intégration GitLab Source Code.

Remarque : Relancer un check dans l'interface utilisateur de la pull request ne relance pas la règle PR Gates correspondante.

Pour vous assurer que les PR Gates sont en mesure de créer des checks de PR, vous devez installer l’intégration pour votre fournisseur SCM. Si l’intégration n’est pas installée, suivez la documentation d’intégration GitHub, GitLab Source Code, Azure DevOps Source Code ou Bitbucket Cloud Source Code pour en configurer une.

Configurer les checks de PR pour qu’ils soient bloquants

Pour Bitbucket Cloud, les checks ne peuvent être configurés comme bloquants que si vous utilisez Bitbucket Cloud Premium.

Pour rendre ces checks bloquants, ils doivent être définis comme obligatoires dans les politiques de branche de votre fournisseur de gestion de code source (ou le compte de service doit être défini comme approbateur requis de vos demandes de fusion dans le cas de GitLab) :

Gérer les règles

Vous pouvez modifier ou supprimer une règle PR Gates en survolant celle-ci dans la liste PR Gates Rules et en cliquant sur l’icône Edit ou Delete.

Modifier, cloner ou supprimer une règle PR Gates

Autorisations

Seuls les utilisateurs disposant de l’autorisation quality_gate_rules_write peuvent créer et modifier des règles PR Gate. Les utilisateurs disposant de l’autorisation quality_gate_rules_read peuvent consulter les règles PR Gate.

Pour plus d’informations, consultez la documentation sur les autorisations RBAC 8.

Pour aller plus loin

Documentation, liens et articles supplémentaires utiles: