Skip to main content

Gestion des ensembles de règles pour les dépôts de votre organisation

Vous pouvez modifier, surveiller et supprimer des ensembles de règles existants pour changer la façon dont les utilisateurs peuvent interagir avec les référentiels de votre organisation.

Qui peut utiliser cette fonctionnalité ?

Organization owners and users with the "Manage organization ref update rules and rulesets" permission can manage rulesets at the organization level.

À propos de la gestion des ensembles de règles d’une organisation

Après avoir créé un ensemble de règles au niveau de l’organisation, vous pouvez modifier le jeu de règles pour changer la façon dont les utilisateurs peuvent interagir avec les référentiels ciblés. Par exemple, vous pouvez ajouter des règles pour mieux protéger les branches ou les balises dans ces référentiels, ou basculer votre ensemble de règles du mode « Evaluate » (évaluation) au mode « Active » (actif) après avoir testé ses effets sur l’expérience des contributeurs pour vos référentiels. Les règles d’organisation qui s’appliquent aux branches d’un référentiel ne permettent plus à l’administrateur du référentiel de renommer les branches du référentiel ciblé ou de remplacer la branche par défaut par une autre branche. Les administrateurs de référentiels peuvent créer et supprimer des branches s’ils disposent des autorisations appropriées.

Note

Le contournement délégué pour les règles de push est actuellement en version bêta et sujette à modification.

Le contournement délégué pour les ensembles de règles de Push vous permet de contrôler qui peut contourner la protection push et les push bloqués qui doivent être autorisés.

Avec le contournement délégué, les contributeurs d'un dépôt doivent demander des "privilèges de contournement" lorsqu'ils déposent des livraisons dont le contenu est restreint. La demande est envoyée à un groupe désigné de réviseurs, qui approuvent ou refusent la demande pour contourner des règles de Push.

Si la demande de contournement des règles de diffusion est approuvée, le contributeur peut diffuser la livraison contenant le contenu restreint. Si la demande est refusée, le contributeur doit supprimer le contenu du (ou des) commit(s) contenant le contenu restreint avant de l'envoyer à nouveau.

Pour configurer le contournement délégué, les propriétaires d’organisations ou les administrateurs de référentiels créent d’abord une « liste de contournement ». La liste de contournement comprend des rôles et des équipes spécifiques, tels que les administrateurs d'équipes ou de référentiels, qui supervisent les demandes de contournement de la protection push. Pour plus d’informations, consultez « Gestion des ensembles de règles pour les dépôts de votre organisation » et « À propos des ensembles de règles ».

Vous pouvez utiliser les API REST et GraphQL pour gérer les ensembles de règles. Pour plus d’informations, consultez « Points de terminaison d’API REST pour les règles » et « Mutations ».

Remarque : Toute personne disposant d’un accès en lecture à un dépôt peut voir les ensembles de règles actifs fonctionnant sur ce dépôt.

Modification d’un ensemble de règles

Vous pouvez modifier un ensemble de règles pour en changer certaines parties, telles que le nom, les autorisations de contournement ou les règles. Vous pouvez également modifier un ensemble de règles pour changer son état, par exemple si vous souhaitez activer ou désactiver temporairement un ensemble de règles.

  1. Dans le coin supérieur droit de GitHub, sélectionnez votre photo de profil, puis cliquez sur Vos organisations.

  2. En regard de l’organisation, cliquez sur Paramètres.

  3. Dans la barre latérale gauche, dans la section « Code, planification et automatisation », cliquez sur Référentiel , puis sur Ensembles de règles.

    Capture d’écran de la page des paramètres d’une organisation. Dans la barre latérale, un lien intitulé « Ensembles de règles » est encadré en orange.

  4. Dans la page « Ensembles de règles », cliquez sur le nom de l’ensemble de règles que vous souhaitez modifier.

  5. Modifiez l’ensemble de règles si nécessaire. Pour plus d’informations sur les règles disponibles, consultez « Règles disponibles pour les ensembles de règles ».

  6. En bas de la page, cliquez sur Save changes.

Suppression d’un ensemble de règles

Conseil : Si vous souhaitez désactiver temporairement un ensemble de règles, mais que vous ne souhaitez pas le supprimer, vous pouvez définir l’état de l’ensemble de règles sur « Désactivé ». Pour plus d’informations, consultez « Modification d’un ensemble de règles ».

  1. Dans le coin supérieur droit de GitHub, sélectionnez votre photo de profil, puis cliquez sur Vos organisations.

  2. En regard de l’organisation, cliquez sur Paramètres.

  3. Dans la barre latérale gauche, dans la section « Code, planification et automatisation », cliquez sur Référentiel , puis sur Ensembles de règles.

    Capture d’écran de la page des paramètres d’une organisation. Dans la barre latérale, un lien intitulé « Ensembles de règles » est encadré en orange.

  4. Cliquez sur le nom de l’ensemble de règles que vous voulez supprimer.

  5. À droite du nom de l’ensemble de règles, sélectionnez , puis cliquez sur Supprimer l’ensemble de règles.

    Capture d’écran de la page de modification d’un ensemble de règles. Sous un bouton représenté par trois points, une option intitulée « Supprimer l’ensemble de règles » est encadrée en orange.

Utilisation de l’historique de l’ensemble de règles

Remarques :

  • L’historique de l’ensemble de règles est actuellement en version bêta publique et susceptible d’être modifié.
  • Seules les modifications apportées à un ensemble de règles après la version bêta publique, le 11 octobre 2023, sont incluses dans l’historique de l’ensemble de règles.

Vous pouvez afficher toutes les modifications apportées à un ensemble de règles et revenir à une itération spécifique. Vous pouvez également télécharger un fichier JSON contenant la configuration de l’ensemble de règles à une itération spécifique. La liste de contournement d’un ensemble de règles est exclue du fichier JSON exporté.

  1. Dans le coin supérieur droit de GitHub, sélectionnez votre photo de profil, puis cliquez sur Vos organisations.

  2. En regard de l’organisation, cliquez sur Paramètres.

  3. Dans la barre latérale gauche, dans la section « Code, planification et automatisation », cliquez sur Référentiel , puis sur Ensembles de règles.

    Capture d’écran de la page des paramètres d’une organisation. Dans la barre latérale, un lien intitulé « Ensembles de règles » est encadré en orange.

  4. Pour afficher l’historique des modifications de l’ensemble de règles, sélectionnez à droite du nom de l’ensemble de règles, puis cliquez sur Historique .

    Capture d’écran de la page des ensembles de règles d’un référentiel. Sous un bouton représenté par trois points, une option intitulée « Historique » est surlignée en orange.

  5. À droite de l’itération spécifique, sélectionnez , puis cliquez sur Comparer les modifications, Restaurer ou Télécharger.

    Capture d’écran de la page de l’historique des ensembles de règles d’un référentiel. Un menu déroulant, étiqueté avec trois points, est développé et mis en évidence par un contour orange.

Importation d’un ensemble de règles

Vous pouvez importer un ensemble de règles à partir d’un autre référentiel ou d’une autre organisation à l’aide du fichier JSON exporté dans la section précédente. Ceci peut être utile si vous souhaitez appliquer le même ensemble de règles à plusieurs référentiels ou organisations.

  1. Dans le coin supérieur droit de GitHub, sélectionnez votre photo de profil, puis cliquez sur Vos organisations.

  2. En regard de l’organisation, cliquez sur Paramètres.

  3. Dans la barre latérale gauche, dans la section « Code, planification et automatisation », cliquez sur Référentiel , puis sur Ensembles de règles.

    Capture d’écran de la page des paramètres d’une organisation. Dans la barre latérale, un lien intitulé « Ensembles de règles » est encadré en orange.

  4. Sélectionnez la liste déroulante Nouvel ensemble de règles, puis cliquez sur Importer un ensemble de règles.

    Capture d’écran de la page des ensembles de règles d’un référentiel. Un menu déroulant intitulé « Nouvel ensemble de règles » est développé et l’option « Importer un ensemble de règles » est mise en évidence par un contour orange.

  5. Ouvrez le fichier JSON exporté.

  6. Passez en revue l’ensemble de règles importé, puis cliquez sur Créer.

Affichage des informations sur les ensembles de règles

Vous pouvez afficher des informations sur les ensembles de règles pour voir comment les ensembles de règles affectent les dépôts de votre organisation. Dans la page « Informations sur les règles », vous verrez une chronologie des actions utilisateur suivantes. Vous pouvez utiliser des filtres pour trouver ce que vous recherchez.

  • Les actions qui ont été vérifiées par rapport à un ou plusieurs ensembles de règles et qui ont réussi.
  • Les actions qui ont été vérifiées par rapport à un ou plusieurs ensembles de règles et qui ont échoué.
  • Les actions pour lesquelles une personne a contourné un ou plusieurs ensembles de règles.

Si un ensemble de règles s’exécute en mode « Évaluer », vous pouvez voir les actions qui auraient réussi ou échoué si l’ensemble de règles avait été actif.

Capture d’écran de la page « Informations sur les règles ». Trois actions sont listées : l’une marquée « réussite », l’autre marquée « contournement » et la dernière marquée « échec » avec une étiquette « évaluation ».

  1. Dans le coin supérieur droit de GitHub, sélectionnez votre photo de profil, puis cliquez sur Vos organisations.

  2. En regard de l’organisation, cliquez sur Paramètres.

  3. Dans la barre latérale gauche, dans la section « Code, planification et automatisation », cliquez sur Référentiel, puis sur Informations sur les règles.

    Capture d’écran de la page des paramètres d’une organisation. Dans la barre latérale, un lien intitulé « Informations sur les règles » est encadré en orange.

  4. Dans la page « Informations sur les règles », utilisez les menus déroulants en haut de la page pour filtrer les actions par ensemble de règles, dépôt, acteur et période.

  5. Pour voir quelles règles spécifiques ont échoué ou ont nécessité un contournement, cliquez sur , puis développez le nom de l’ensemble de règles.

    Capture d’écran de la page « Informations sur les règles ». À droite d’un événement intitulé « octocat created not-allowed », une icône de trois points horizontaux est encadrée en orange.

Gérer les demandes de contournement des règles de poussée

Note

Le contournement délégué pour les règles de push est actuellement en version bêta et sujette à modification.

Vous pouvez consulter et gérer toutes les demandes de privilèges de contournement sur la page "Demandes de contournement", située dans l’ensemble de règles du référentiel.

  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. Cliquez sur Demandes de contournement.

Vous pouvez filtrer les demandes par approbateur (membre de la liste de contournement), demandeur (contributeur en effectuant la demande), délai et état. Les états suivants sont attribués à une demande :

StatutDescription
CancelledLa demande a été annulée par le contributeur.
CompletedLa demande a été approuvée et les commits ont été envoyées au référentiel.
DeniedLa demande a été examinée et refusée.
ExpiredLa demande a expiré. Les demandes sont valides pendant 7 jours.
OpenLa demande n’a pas encore été examinée, ou a été approuvée, mais le(s) commits n’a(ont) pas été envoyés dans le référentiel.

Lorsqu'un contributeur demande des privilèges de contournement pour publier un commit contenant un contenu restreint, les membres de la liste de contournement reçoivent tous une notification par courrier électronique contenant un lien vers la demande. Les membres de la liste de contournement disposent alors de sept jours pour examiner la demande et l’approuver ou la refuser avant qu’elle n’expire.

Le contributeur est notifié de la décision par e-mail et doit prendre les mesures requises. Si la demande est approuvée, le contributeur peut envoyer (push) le commit contenant le contenu restreint dans le référentiel. Si la demande est refusée, le contributeur doit supprimer le contenu restreint du commit pour que ce dernier puisse être envoyé dans le référentiel.