> For the complete documentation index, see [llms.txt](https://gitbook.com/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://gitbook.com/docs/documentation/fr/collaborer/merge-rules.md).

# Règles de fusion

Définissez les exigences à respecter avant que les demandes de modification puissent être fusionnées

Les règles de fusion vous permettent de définir les exigences à satisfaire avant que les demandes de modification puissent être fusionnées, par exemple l’obligation d’obtenir une relecture d’un utilisateur spécifique, ou l’exigence d’un sujet ou d’une description pour la demande de modification.

Ces règles aident à maintenir la qualité du contenu et à garantir des processus de relecture appropriés dans l’ensemble de votre flux de travail de documentation.

Lorsque vous avez configuré des règles de fusion, elles évaluent automatiquement les demandes de modification avant qu’elles puissent être fusionnées. Si une règle n’est pas satisfaite, la fusion sera bloquée jusqu’à ce que les exigences soient remplies.

Cela fournit un moyen automatisé de faire respecter les standards de collaboration et de relecture de votre équipe.

## Utilisation des règles de fusion

Vous pouvez configurer les règles de fusion à différents niveaux pour correspondre au flux de travail de votre équipe :

### Configuration au niveau de l’organisation

Les organisations peuvent définir des règles de fusion par défaut que toutes les sections héritent. Cela apporte de la cohérence entre plusieurs sections tout en permettant à chaque section de personnaliser ses règles selon ses besoins.

Pour configurer les règles de fusion de votre organisation, retournez à votre organisation **Accueil** et cliquez sur **Paramètres** <picture><source srcset="/files/CG9bVSmdbJnQxrYiNbRI" media="(prefers-color-scheme: dark)"><img src="https://3903131528-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FNkEGS7hzeqa35sMXQZ4X%2Fuploads%2FwkBqgOPry9HAcW4cxJk0%2Fsettings.svg?alt=media&amp;token=67bdbb00-ebf3-4a2d-9df8-0c822406f71c" alt=""></picture>, sous **Admin** dans la barre latérale. Dans l’écran des paramètres, cliquez sur **Règles de fusion** dans le groupe **Organisation** . Ici, vous pouvez définir des règles de fusion pour l’ensemble de votre organisation.

Choisissez entre une fusion sans restriction, ou sélectionnez l’un des préréglages pour l’appliquer aux demandes de modification dans toute votre organisation.

### Configuration au niveau de la section

Que vous ayez activé ou non les règles de fusion à l’échelle de l’organisation, chaque section peut avoir ses propres exigences de fusion adaptées à son contenu et à la structure de son équipe.

Cela vous offre la flexibilité d’avoir des règles plus strictes pour la documentation importante et des règles plus souples pour le contenu de brouillon.

Lors de la configuration des règles de fusion pour une section, vous pouvez choisir de :

* **Hériter** des règles de fusion de votre organisation
* **Définir des règles personnalisées** propres à cette section
* **Désactiver les règles de fusion** entièrement

{% hint style="info" %}
Si vous héritez des règles de l’organisation, toute modification des règles de fusion de l’organisation s’appliquera automatiquement à la section.
{% endhint %}

Pour configurer les règles de fusion d’une section, ouvrez le **menu Actions** <i class="fa-ellipsis">:ellipsis:</i> en haut à gauche de l’éditeur, puis cliquez sur **Règles de fusion**. Ici, vous pouvez préciser si vous souhaitez hériter des règles de fusion de votre organisation ou en configurer de nouvelles spécifiques à cette section.

## Évaluation des règles

### Fonctionnement des règles

Lorsqu’une personne souhaite fusionner une demande de modification, GitBook évaluera toutes les règles configurées dans l’ordre :

* Toutes les règles d’une configuration doivent être validées pour qu’une fusion soit autorisée
* Les règles sont évaluées dans l’ordre dans lequel elles apparaissent dans votre configuration
* Si une règle échoue, la fusion est bloquée avec un message d’erreur approprié
* Les règles de contournement peuvent annuler les échecs précédents

### Règles de contournement

Certaines règles disposent de capacités de contournement (comme **Autoriser des acteurs spécifiés à contourner les exigences**). Ces règles spéciales peuvent annuler les échecs d’autres règles. Si une règle de contournement est évaluée à vrai, la fusion sera autorisée même si d’autres règles ont échoué.

## Bonnes pratiques

Lors de la configuration des règles de fusion, tenez compte de ces recommandations :

* **Commencez simplement**: Commencez par des règles de base, comme exiger au moins une relecture.
* **Évoluez progressivement**: Ajoutez des exigences plus spécifiques à mesure que votre équipe grandit et que les flux de travail mûrissent.
* **Utilisez le contournement avec prudence**: N’accordez les autorisations de contournement qu’à des administrateurs de confiance.
* **Vérifiez régulièrement**: Ajustez les règles en fonction des véritables schémas de flux de travail de votre équipe.
* **Testez d’abord**: Lorsque c’est possible, testez les modifications de règles dans une section de test avant de les appliquer aux sections de production.

## Types de règles disponibles

### Exigences de relecture

<table><thead><tr><th width="279.703125">Règle</th><th>Description</th></tr></thead><tbody><tr><td><strong>Exiger au moins une relecture</strong></td><td>Garantit qu’au moins un membre de l’équipe a relu la demande de modification avant qu’elle puisse être fusionnée.</td></tr><tr><td><strong>Exiger que toutes les relectures soient approuvées</strong></td><td>Toutes <strong>terminées</strong> les relectures (non demandées) doivent être des approbations. Si un relecteur a demandé des modifications ou rejeté la demande de modification, la fusion sera bloquée.</td></tr><tr><td><strong>Exiger une relecture par des acteurs spécifiés</strong></td><td>Exige l’approbation de tous les utilisateurs spécifiés. Vous pouvez sélectionner des membres précis de l’équipe qui doivent relire et approuver la demande de modification avant qu’elle puisse être fusionnée.</td></tr><tr><td><strong>Exiger une relecture par l’un des acteurs spécifiés</strong></td><td>Exige l’approbation d’au moins l’un des utilisateurs spécifiés. C’est utile lorsque vous avez plusieurs relecteurs qualifiés, mais qu’une seule approbation du groupe est nécessaire.</td></tr><tr><td><strong>Exiger une relecture de l’agent Docs (bientôt disponible)</strong></td><td>Exige une relecture de l’agent IA de GitBook. Cela garantit que des contrôles qualité automatisés sont effectués sur les modifications de contenu avant la fusion.</td></tr></tbody></table>

### Exigences de la demande de modification

<table><thead><tr><th width="279.703125">Règle</th><th>Description</th></tr></thead><tbody><tr><td><strong>Exiger une demande de modification à jour</strong></td><td>La demande de modification doit être à jour par rapport à la branche de contenu principale. Si le contenu principal a été mis à jour depuis la création de la demande de modification, vous devrez la rebaser ou la mettre à jour avant de la fusionner.</td></tr><tr><td><strong>Exiger un sujet</strong></td><td>La demande de modification doit avoir un sujet/titre descriptif. Les sujets vides bloqueront la fusion.</td></tr><tr><td><strong>Exiger une description</strong></td><td>La demande de modification doit inclure une description expliquant quelles modifications ont été apportées et pourquoi.</td></tr></tbody></table>

### Options avancées

<table><thead><tr><th width="279.703125">Règle</th><th>Description</th></tr></thead><tbody><tr><td><strong>Autoriser des acteurs spécifiés à contourner les exigences</strong></td><td>Vous pouvez désigner des utilisateurs spécifiques autorisés à contourner toutes les autres exigences des règles de fusion. C’est utile pour les administrateurs ou les situations d’urgence où les règles doivent être outrepassées.</td></tr><tr><td><strong>Expression personnalisée</strong></td><td>Vous pouvez créer des règles de fusion avancées à l’aide d’expressions JavaScript personnalisées. Cela vous permet de définir une logique complexe basée sur le contexte d’évaluation, avec accès aux propriétés de la demande de modification, des relectures et de l’utilisateur qui tente de fusionner.</td></tr></tbody></table>

#### Expressions personnalisées

Lorsque vous créez une expression personnalisée, elle sera évaluée à chaque fois que quelqu’un tentera de fusionner une demande de modification. Si l’expression renvoie `true`, la fusion est autorisée. Si elle renvoie `false`, la fusion est bloquée.

{% hint style="info" %}
Les expressions personnalisées prennent en charge la syntaxe JavaScript standard (ES2022) et ont une longueur maximale de 1024 caractères.
{% endhint %}

**Variables de contexte disponibles :**

* `changeRequest.subject` - Le sujet/titre de la demande de modification
* `changeRequest.description` - La description de la demande de modification
* `changeRequest.outdated` - Indique si la demande de modification est obsolète (booléen)
* `changeRequest.createdBy.id` - ID de l’utilisateur qui a créé la demande de modification
* `reviews` - Tableau d’objets de relecture, chacun contenant :
  * `reviews[].status` - Statut de la relecture (`"approved"` ou `"changes_requested"`)
  * `reviews[].reviewer.id` - ID du relecteur
* `actor.id` - ID de l’utilisateur qui tente de fusionner

**Exemples courants d’expressions :**

{% code title="Exiger plusieurs relectures approuvées" %}

```javascript
reviews.filter(r => r.status === "approved").length >= 2
```

{% endcode %}

{% code title="Exiger l’approbation d’un utilisateur spécifique" %}

```javascript
reviews.some(r => r.reviewer.id === "harry" && r.status === "approved")
```

{% endcode %}

{% code title="Exiger une description pour les changements urgents" %}

```javascript
!changeRequest.subject.includes("[URGENT]") || !!changeRequest.description
```

{% endcode %}

{% code title="Autoriser l’auto-fusion uniquement pour les modifications mineures" %}

```javascript
changeRequest.createdBy.id === actor.id ? changeRequest.subject.startsWith("[minor]") : true
```

{% endcode %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://gitbook.com/docs/documentation/fr/collaborer/merge-rules.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
