Skip to main content

Création d’un ensemble de règles pour un dépôt

Vous pouvez ajouter des ensembles de règles à un dépôt pour contrôler la façon dont les utilisateurs peuvent interagir avec des branches et des étiquettes spécifiques.

Qui peut utiliser cette fonctionnalité

Toute personne disposant d’un accès en lecture à un dépôt peut voir les ensembles de règles du dépôt. Les personnes avec un accès administrateur à un dépôt, ou avec un rôle personnalisé avec l’autorisation « modifier les règles du dépôt », peuvent créer, modifier et supprimer des ensembles de règles pour un dépôt.

Les ensembles de règles sont disponibles dans les dépôts publics avec GitHub Free et GitHub Free pour les organisations, et dans les dépôts publics et privés avec GitHub Pro, GitHub Team et GitHub Enterprise Cloud. Pour plus d’informations, consultez « Plans de GitHub ».

Présentation

Vous pouvez créer des ensembles de règles pour contrôler la façon dont les utilisateurs peuvent interagir avec une sélection de branches et d’étiquettes dans un dépôt. Lorsque vous créez un ensemble de règles, vous pouvez autoriser certains utilisateurs à contourner les règles de l’ensemble de règles. Il peut s’agir d’utilisateurs disposant de certaines autorisations, d’équipes spécifiques ou d’GitHub Apps. Pour plus d’informations sur les ensembles de règles, consultez « À propos des ensembles de règles ».

Pour créer un ensemble de règles, suivez la procédure suivante :

Création d’un ensemble de règles de branche ou de balise

  1. Dans GitHub.com, accédez à la page principale du dépôt.

  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. Vous pouvez créer un ensemble de règles ciblant des branches ou un ensemble de règles ciblant des étiquettes.

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

    • Pour créer un ensemble de règles ciblant des étiquettes, sélectionnez , puis cliquez sur Nouvel ensemble de règles d’étiquette.

      Capture d’écran de la page « Ensembles de règles ». À côté du bouton « Nouvel ensemble de règles de branche », un menu déroulant est développé, avec une option intitulée « Nouvel ensemble de règles d’étiquette » encadrée en orange.

  5. Dans la section « Général », entrez un nom pour l’ensemble de règles, puis sélectionnez Désactivé et cliquez sur l’un des états d’application suivants :

    • Actif : votre ensemble de règles sera appliqué lors de la création.
    • Désactivé : votre ensemble de règles n’est pas appliqué.

Octroi d’autorisations de contournement pour votre ensemble de règles

Vous pouvez accorder certains rôles, équipes ou applications des autorisations de contournement pour votre ensemble de règles. Les rôles suivants peuvent bénéficier d’un accès de contournement :

  • Administrateurs de référentiels ou propriétaires d’organisations
  • Le rôle de maintenance ou d’écriture, ou rôles de référentiel personnalisés en fonction du rôle d’écriture
  • Teams
  • GitHub Apps
  1. Pour accorder des autorisations de contournement pour l’ensemble de règles, dans la section « Liste de contournement », cliquez sur Ajouter un contournement.

  2. Dans la boîte de dialogue modale « Ajouter un contournement » qui s’affiche, recherchez le rôle, l’équipe ou l’application à laquelle vous souhaitez accorder des autorisations de contournement, puis sélectionnez le rôle, l’équipe ou l’application dans la section « Suggestions » et cliquez sur Ajouter sélectionné.

  3. Si vous le souhaitez, pour accorder un contournement à un acteur sans lui permettre d’envoyer directement vers un référentiel, sélectionnez Toujours , puis cliquez sur Pour les demandes de tirage (pull requests) uniquement.

    L’acteur sélectionné est maintenant tenu d’ouvrir une demande de tirage (pull request) pour apporter des modifications à un référentiel, créant une trace numérique claire avec ses modifications. L’acteur peut ensuite choisir de contourner les protections de branche et de fusionner cette demande de tirage (pull request).

Choix des branches ou des balises à cibler

Pour cibler les branches ou les balises, dans la section « Cibler des branches » ou « Cibler des balises », sélectionnez Ajouter une cible, puis sélectionnez la façon dont vous souhaitez inclure ou exclure des branches ou des étiquettes. Vous pouvez utiliser la syntaxe fnmatch pour inclure ou exclure des branches ou des étiquettes sur la base d’un modèle. Pour plus d’informations, consultez « Utilisation de la syntaxe fnmatch ».

Vous pouvez ajouter plusieurs critères de ciblage au même ensemble de règles. Par exemple, vous pouvez inclure la branche par défaut, inclure toutes les branches correspondant au modèle *feature*, puis exclure spécifiquement une branche correspondant au modèle not-a-feature.

Sélection de protections de branche ou de balise

Dans la section « Protections de branches » ou « Protections d’étiquettes », sélectionnez les règles que vous souhaitez inclure dans l’ensemble de règles. Lorsque vous sélectionnez une règle, vous pouvez entrer des paramètres supplémentaires pour la règle. Pour plus d’informations sur les règles, consultez « Règles disponibles pour les ensembles de règles ».

Remarques : si vous sélectionnez Exiger des vérifications d'état avant la fusion, dans la section « Paramètres supplémentaires » :

  • Vous pouvez entrer le nom de chaque vérification d’état que vous souhaitez exiger. Pour terminer l’ajout de la vérification d’état comme condition requise, vous devez cliquer sur .
  • Si vous sélectionnez Exiger que les branches soient à jour avant la fusion, vous devez définir une vérification pour que la protection prenne effet.

Pour terminer la création de votre ensemble de règles, cliquez sur Créer. Si le statut de l’application de l’ensemble de règles est défini sur « Actif », l’ensemble de règles prend effet immédiatement.

Utilisation de la syntaxe fnmatch

Vous pouvez utiliser la syntaxe fnmatch pour définir des modèles visant à cibler les noms des branches et étiquettes lorsque vous créez un ensemble de règles.

Vous pouvez utiliser le caractère générique * pour faire correspondre n’importe quelle chaîne de caractères. Étant donné que GitHub utilise l’indicateur File::FNM_PATHNAME pour la syntaxe File.fnmatch, le caractère générique * ne correspond pas aux séparateurs de répertoires (/). Par exemple, qa/* correspond à toutes les branches commençant par qa/ et contenant une barre oblique unique, mais ne correspond pas à qa/foo/bar. Vous pouvez inclure n’importe quel nombre de barres obliques après qa avec qa/**/*, qui correspondrait, par exemple, à qa/foo/bar/foobar/hello-world. Vous pouvez également étendre la chaîne qa avec qa**/**/* pour rendre la règle plus inclusive.

Pour plus d’informations sur les options de syntaxe, consultez la documentation fnmatch.

Remarque : bien que GitHub prend en charge File::FNM_PATHNAME dans la syntaxe fnmatch, File::FNM_EXTGLOB n’est pas pris en charge.