| Résumé | Discourse Code Review permet de passer en revue les commits GitHub 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 passer en revue les commits d’un dépôt en tirant parti des fonctionnalités et 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 de discussion. 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 workflow très puissant pour les équipes qui doivent passer en revue tous les commits d’un nombre quelconque 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 du travail de revue et plus encore.
Remarque : Lorsque vous consultez un sujet qui peut être approuvé, vous pouvez utiliser le bouton 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 en utilisant ses identifiants GitHub. Le site ne présente qu’un sous-ensemble de fonctionnalités aux membres non-staff. Un exemple plus complet pourrait être :
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 dans les dépôts. Pour une configuration minimale, vous devrez définir le paramètre suivant avec une chaîne secrète.
code review github webhook secret
Une fois défini sur votre configuration de dépôt GitHub, configurez un webhook avec :
URL du payload : 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 de commits
- Commentaires d’issues
- Pull requests
- Reviews de pull requests
- Commentaires de reviews de pull requests
- 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 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 rencontrer des limites de taux (rate limits).
code review catch up commits : nombre de commits à “rattraper” et à créer en tant que 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 : Tag à appliquer à tous les commits non revus, pending par défaut
code review approved tag : Tag à appliquer aux commits approuvés, approved par défaut
code_review_followup_tag : Tag à appliquer aux commits à suivre, follow-up par défaut
code review allow self approval : Le staff est-il autorisé à approuver ses propres commits ?
code review default mute new categories : Les nouvelles catégories créées par code review sont muettes pour les utilisateurs par défaut
code review skip duration minutes : Cliquer sur le bouton “passer” sur un commit empêchera ce commit d’apparaître à nouveau 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 du plugin par l’équipe Discourse pour la revue de code sur GitHub.
Plus d'informations
De @sam :
Nous utilisons toujours les PRs via l’interface utilisateur de GitHub et adorons faire des PRs pour de nombreux changements. Rien n’a changé ici. GitHub est fantastique, nous aimons GitHub. Ils ont un excellent workflow pour les changements qui ne sont pas encore déployés. Cependant…
Le workflow 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é avec GitHub aujourd’hui. Nous souhaitons 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 utilisateur fournie par GitHub, personne ne pourrait jamais faire quoi que ce soit d’autre que des pull requests. Cela nous ralentirait énormément.
Nous avons besoin de la capacité de communiquer en privé sans que tout le monde le sache concernant certains changements. Par exemple : Nous devons déployer cette correction géniale sur
<insérer le nom d'une grande entreprise>ASAP, @sam peux-tu t’en charger ?Nous avons besoin de la capacité d’approuver les changements effectués ou de demander un suivi, ce que l’interface utilisateur de GitHub n’offre pas.
Nous avons besoin de la capacité d’assigner des commits particuliers à un utilisateur. Disons que @sam fait un commit contenant quelques erreurs Il est agréable que nous puissions lui assigner directement ce commit particulier, le marquer pour suivi et ensuite suivre qu’il a bien été suivi.
Discourse est plutôt fantastique pour toute cette histoire de conversation, et les petites fonctionnalités font une grande différence. Je peux voir quand les gens tapent. Je n’ai jamais besoin d’actualiser les pages pour voir les changements apparaître. Le fait de citer est vraiment agréable, les téléchargements d’images aussi, etc.
Discourse est vraiment bon pour l’état de lecture, vous obtenez des garanties très fortes que vous avez lu chaque chose 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 flot d’informations.
Et la liste continue…
Donc, review agit comme un complément à GitHub. Nous utilisons GitHub pour le moment pour gérer les changements qui ne sont pas encore déployés. Et nous utilisons review pour gérer correctement les changements qui ont déjà été déployés.

