| Résumé | Discourse Code Review permet de réviser les commits GitHub directement sur Discourse. | |
| Lien du dépôt | https://github.com/discourse/discourse-code-review | |
| Guide d’installation | Comment installer des plugins dans Discourse |
Fonctionnalités
Qu’est-ce que c’est ?
Le plugin Discourse Code Review offre une intégration bidirectionnelle avec les dépôts de code GitHub. Il permet à votre équipe de réviser les commits d’un dépôt en tirant parti des fonctionnalités et des plugins de Discourse tels que l’assignation, les messages privés (whispers), les notifications, les workflows personnalisés, etc. Chaque commit dans un dépôt devient un sujet. Les réponses à ce sujet sont répercutées sur GitHub. L’intégration est bidirectionnelle, ce qui signifie que vous pouvez commenter sur Discourse et voir le commentaire sur GitHub, ou commenter sur GitHub et voir le commentaire sur Discourse.
Il offre un flux de travail très puissant pour les équipes qui doivent réviser tous les commits de n’importe quel nombre de dépôts.
Il vous permet de vous assurer que plusieurs membres de l’équipe sont informés de tous les changements appliqués aux dépôts. Vous pouvez marquer des commits pour un suivi, assigner des tâches de révision et bien plus encore.
Note : Lors de l’affichage d’un sujet pouvant être approuvé, vous pouvez utiliser la touche y de votre clavier pour approuver les commits plus rapidement.
Puis-je le voir en action ?
Discourse maintient https://review.discourse.org/ ; ce site est public et tout le monde peut s’inscrire avec ses identifiants GitHub. Le site ne met en avant qu’un sous-ensemble de fonctionnalités pour les membres qui ne font pas partie du personnel. Un exemple plus complet pourrait être :
Sur GitHub, le même sujet ressemble à ceci :
Configuration
Le plugin repose sur les webhooks GitHub pour découvrir les dépôts et les modifications apportées aux dépôts. Pour une configuration minimale, vous devrez définir le paramètre suivant sur une chaîne secrète.
code review github webhook secret
Une fois défini dans votre dépôt GitHub, configurez un webhook avec :
URL de charge utile : https://VOTRE_DISCOURSE/code-review/webhook
Type de contenu : application/json
Secret : la valeur de code review github webhook secret
Types d’événements :
- Commentaires sur les commits
- Commentaires sur les problèmes
- Demandes de tirage (Pull requests)
- Révisions de demandes de tirage
- Commentaires sur les révisions de demandes de tirage
- Poussées (Pushes)
Le plugin fournit les paramètres de site supplémentaires suivants :
code review api username : GitHub est très restrictif concernant le nombre de requêtes API anonymes autorisées ; ce paramètre vous permet d’utiliser les clés de compte d’un utilisateur Discourse pour les requêtes /comments et /commit. Cela réduit considérablement les risques de atteindre les limites de débit.
code review catch up commits : nombre de commits à « rattraper » et pour lesquels créer des sujets lorsque vous rencontrez un nouveau dépôt.
code review default parent category : choisissez une catégorie parente par défaut pour les catégories créées par le plugin
code review pending tag : Étiquette à appliquer à tous les commits non révisés, pending par défaut
code review approved tag : Étiquette à appliquer aux commits approuvés, approved par défaut
code_review_followup_tag : Étiquette à appliquer aux commits de suivi, follow-up par défaut
code review allow self approval : Les membres du personnel sont-ils autorisés à approuver leurs propres commits ?
code review default mute new categories : Les nouvelles catégories créées par Code Review sont mises en sourdine par défaut pour les utilisateurs
code review skip duration minutes : Cliquer sur le bouton Ignorer pour un commit empêchera ce commit de réapparaître pendant le nombre de minutes défini par ce paramètre.
JOURNAL DES MODIFICATIONS
À FAIRE
Extras
Comment Discourse utilise ce plugin
TL;DR - Ce plugin a été conçu pour compléter l’utilisation de GitHub par l’équipe Discourse pour la révision de code.
Plus d'informations
De @sam :
Nous utilisons toujours les PR via l’interface GitHub et adorons faire des PR pour de nombreux changements. Rien n’a changé ici. GitHub est formidable, nous adorons GitHub. Ils offrent un excellent flux de travail pour les changements qui n’ont pas encore été intégrés. Cependant…
Le flux de travail de GitHub pour les changements qui ont été directement commités dans le dépôt est terrible.
Review comble une lacune qui ne peut tout simplement pas être comblée par GitHub aujourd’hui. Nous souhaitons qu’au moins un membre de l’équipe révise chaque modification apportée à nos divers dépôts Git appartenant à Discourse. Si nous utilisions l’interface fournie par GitHub, personne ne serait jamais autorisé à faire autre chose que des demandes de tirage (PR). Cela nous ralentirait énormément.
Nous avons besoin de la capacité de communiquer en privé sans que le monde entier ne soit au courant de certaines modifications. Par exemple : Nous devons déployer cette correction incroyable chez
<insérer le nom d'une grande entreprise>dès que possible, @sam, peux-tu t’en occuper ?Nous avons besoin de la capacité de valider des modifications ou de demander un suivi, ce que l’interface GitHub ne propose pas.
Nous avons besoin de la capacité d’assigner des commits particuliers à un utilisateur. Disons que @sam fait un commit contenant certaines erreurs. Il est agréable de pouvoir lui assigner directement ce commit, le marquer pour suivi et ensuite suivre son avancement.
Discourse est vraiment formidable pour toute cette chose qu’est la conversation, et les petites fonctionnalités font une grande différence. Je peux voir quand les gens sont en train de taper. Je n’ai jamais besoin d’actualiser les pages pour voir les changements apparaître. Le citation est vraiment agréable, le téléchargement d’images est agréable, et ainsi de suite.
Discourse est vraiment bon pour gérer l’état de lecture ; vous avez des garanties très solides que vous avez lu chaque élément une fois. Avec GitHub, je ne sais pas quels commits j’ai lus et lesquels je n’ai pas lus. Nous avons un moyen incroyablement efficace de gérer le flux continu d’informations.
Et la liste continue…
Ainsi, Review agit comme un complément à GitHub : nous utilisons GitHub actuellement pour gérer les changements qui n’ont pas encore été intégrés. Et nous utilisons Review pour gérer correctement les changements qui ont déjà été intégrés.

