| Résumé | Discourse Code Review permet de passer en revue 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 sur Discourse |
Fonctionnalités
Qu’est-ce que c’est ?
Le plugin Discourse Code Review fournit une intégration bidirectionnelle avec les dépôts de code GitHub. Il permet à votre équipe de passer en revue les commits d’un dépôt en exploitant les fonctionnalités et les plugins de Discourse tels que l’assignation, les messages privés (whispers), les notifications, les flux de travail personnalisés, et bien d’autres. Chaque commit d’un dépôt devient un sujet. Les réponses au sujet sont synchronisé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 ont besoin de passer en revue 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 au courant de tous les changements appliqués aux dépôts. Vous pouvez marquer des commits pour un suivi ultérieur, assigner des tâches de revue, et plus encore.
Note : Lors de la consultation d’un sujet qui peut être approuvé, vous pouvez utiliser la touche y de votre clavier pour approuver les commits plus rapidement.
Puis-je le voir en action ?
Discourse utilise ce plugin en interne pour suivre les dépôts. Vous pouvez voir un exemple du côté Discourse ici :
Sur GitHub, le même sujet ressemble à ceci :
Configuration
Le plugin s’appuie sur les webhooks GitHub pour découvrir les dépôts et les changements sur les dépôts. Pour une configuration minimale, vous devrez définir le paramètre suivant sur une chaîne de caractères secrète.
code review github webhook secret
Une fois défini sur votre dépôt GitHub, configurez un webhook avec :
URL de la charge utile (Payload URL) : https://YOUR_DISCOURSE/code-review/webhook
Type de contenu (Content Type) : application/json
Secret : la valeur de code review github webhook secret
Types d’événements (Event Types) :
- Commentaires de commit
- Commentaires de problème (Issue)
- Demandes de tirage (Pull requests)
- Revues de demande de tirage (Pull request reviews)
- Commentaires de revue de demande de tirage (Pull request review comments)
- Poussées (Pushes)
Le plugin fournit les paramètres de site supplémentaires suivants :
code review api username : GitHub est très restrictif quant au nombre de requêtes API anonymes qu’il autorise. Ce paramètre vous permet d’utiliser les clés du compte d’un utilisateur Discourse pour les requêtes /comments et /commit. Cela réduit considérablement les chances d’atteindre les limites de débit (rate limits).
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 passés en revue, 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 nécessitant un 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 muettes par défaut pour les utilisateurs
code review skip duration minutes : Cliquer sur le bouton ignorer sur un commit empêchera ce commit de réapparaître pendant le nombre de minutes défini par ce paramètre.
JOURNAL DES MODIFICATIONS (CHANGELOG)
À FAIRE (TODO)
Extras
Comment Discourse utilise ce plugin
En bref - Ce plugin a été conçu pour compléter l’utilisation de GitHub par l’équipe Discourse pour la revue de code.
Plus d'informations
De la part de @sam :
Nous utilisons toujours les PR (demandes de tirage) via l’interface GitHub et nous aimons faire des PR pour de nombreux changements. Rien n’a changé à cet égard. GitHub est fantastique, nous adorons GitHub. Ils ont 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é commités directement dans le dépôt est terrible.
La revue comble un vide qui ne peut tout simplement pas être comblé par GitHub aujourd’hui. Nous aimerions qu’au moins un membre de l’équipe passe en revue chaque changement apporté à nos divers dépôts git appartenant à Discourse. Si nous devions utiliser l’interface fournie par GitHub, personne ne serait jamais autorisé à faire autre chose que des demandes de tirage. Cela nous ralentirait énormément.
Nous avons besoin de la possibilité de communiquer en privé, sans que le monde entier ne le sache, concernant certains changements. Par exemple : Il vaut mieux que nous déployions ce correctif génial chez
<insérer le nom de la grande entreprise>dès que possible, @sam peux-tu t’en charger ?Nous avons besoin de la possibilité d’approuver des changements effectués ou de demander un suivi, ce n’est pas quelque chose que l’interface GitHub offre.
Nous avons besoin de la possibilité d’assigner des commits particuliers à un utilisateur. Disons que @sam fait un commit contenant certaines erreurs. C’est bien que nous puissions lui assigner directement ce commit particulier, le marquer pour un suivi et ensuite suivre sa résolution.
Discourse est assez fantastique pour toute cette partie « conversation », et les petites fonctionnalités font une assez grande différence. Je peux voir quand les gens sont en train de taper. Je n’ai jamais besoin de rafraîchir les pages pour que les changements apparaissent. Citer est vraiment pratique, les téléversements d’images sont pratiques, et ainsi de suite.
Discourse est vraiment bon pour l’état de lecture, vous avez des garanties très fortes que vous avez lu chaque chose une fois. Avec GitHub, je n’ai aucune idée de quels commits j’ai lus et de ceux que je n’ai pas lus. Nous avons un système incroyablement efficace pour faire face au flux d’informations.
Et la liste continue…
Donc, la revue agit comme un complément à GitHub. Nous utilisons GitHub en ce moment pour gérer les changements qui n’ont pas encore été intégrés. Et nous utilisons la revue pour gérer correctement les changements qui ont déjà été intégrés.

