Revisione del codice Discourse

:discourse2: Riepilogo Discourse Code Review consente di revisionare i commit di GitHub su Discourse.
:hammer_and_wrench: Link al Repository https://github.com/discourse/discourse-code-review
:open_book: Guida all’Installazione Come installare i plugin in Discourse

Funzionalità

Che cos’è?

Il plugin Discourse Code Review offre un’integrazione bidirezionale con i repository di codice GitHub. Consente al tuo team di revisionare i commit di un repository sfruttando le funzionalità e i plugin di Discourse come assegnazione, messaggi privati, notifiche, flussi di lavoro personalizzati e altro ancora. Ogni commit su un repository diventa un argomento. Le risposte all’argomento vengono riflesse su GitHub. L’integrazione è bidirezionale: puoi commentare su Discourse e vedere il commento su GitHub, oppure commentare su GitHub e vederlo su Discourse.

Offre un flusso di lavoro molto potente per i team che devono revisionare tutti i commit di uno o più repository.

Ti permette di assicurarti che più membri del team siano a conoscenza di tutte le modifiche apportate ai repository. Puoi segnare i commit per un follow-up, assegnare il lavoro di revisione e molto altro.

Nota: quando visualizzi un argomento che può essere approvato, puoi utilizzare il tasto y sulla tastiera per approvare i commit più velocemente.

Posso vederlo in azione?

Discourse mantiene https://review.discourse.org/; questo sito è pubblico e chiunque può registrarsi utilizzando le credenziali GitHub. Il sito mostra solo un sottoinsieme di funzionalità ai membri non staff. Un esempio più completo potrebbe essere:

Su GitHub lo stesso argomento appare così:

Configurazione

Il plugin si basa sui webhook di GitHub per scoprire i repository e le modifiche ai repository. Per una configurazione minima, dovrai impostare la seguente impostazione su una stringa segreta.

code review github webhook secret

Una volta impostato nel tuo repository GitHub, configura un webhook con:

Payload URL: https://IL_TUO_DISCOURSE/code-review/webhook
Tipo di contenuto: application/json
Segreto: il valore di code review github webhook secret
Tipi di evento:

  • Commenti ai commit
  • Commenti alle issue
  • Pull request
  • Revisioni delle pull request
  • Commenti alle revisioni delle pull request
  • Push

Il plugin offre le seguenti impostazioni aggiuntive del sito:

code review api username: GitHub è molto restrittivo sul numero di richieste API anonime consentite; questa impostazione ti permette di utilizzare le chiavi dell’account di un utente Discourse per le richieste /comments e /commit. Questo riduce notevolmente il rischio di raggiungere i limiti di velocità.

code review catch up commits: numero di commit da “recuperare” e per cui creare argomenti quando si incontra un nuovo repository.

code review default parent category: scegli una categoria genitore predefinita per le categorie create dal plugin

code review pending tag: Tag da applicare a tutti i commit non revisionati, pending di default

code review approved tag: Tag da applicare ai commit approvati, approved di default

code_review_followup_tag: Tag da applicare ai commit per il follow-up, follow-up di default

code review allow self approval: È consentito al personale approvare i propri commit?

code review default mute new categories: Le nuove categorie create da Code Review sono silenziate per gli utenti di default

code review skip duration minutes: Cliccare sul pulsante skip su un commit impedirà che tale commit venga visualizzato di nuovo per il numero di minuti impostati da questa opzione.

CHANGELOG

TODO

Extra

Come Discourse utilizza questo plugin

TL;DR - Questo plugin è stato progettato per integrare l’uso che il team di Discourse fa di GitHub per la revisione del codice.

Ulteriori informazioni

Da @sam:

  • Continuiamo a utilizzare le PR tramite l’interfaccia di GitHub e amiamo fare PR per molte modifiche. Qui non è cambiato nulla. GitHub è fantastico, amiamo GitHub. Offrono un eccellente flusso di lavoro per le modifiche che non sono ancora state integrate. Tuttavia…

  • Il flusso di lavoro di GitHub per le modifiche già commitate direttamente nel repository è terribile.

  • Review colma una lacuna che semplicemente non può essere colmata con GitHub oggi; vorremmo che almeno un membro del team revisionasse ogni modifica apportata ai nostri vari repository git di proprietà di Discourse. Se dovessimo utilizzare l’interfaccia fornita da GitHub, nessuno potrebbe mai fare altro che creare pull request. Questo ci rallenterebbe enormemente.

  • Abbiamo bisogno della possibilità di comunicare in privato senza che tutto il mondo sappia di certe modifiche. Ad esempio: Dobbiamo deployare questa fantastica correzione su <inserisci nome azienda gigante> il prima possibile, @sam, puoi occupartene?

  • Abbiamo bisogno della possibilità di approvare le modifiche effettuate o richiedere un follow-up, cosa che l’interfaccia di GitHub non offre.

  • Abbiamo bisogno della possibilità di assegnare determinati commit a un utente. Diciamo che @sam fa un commit contenente alcuni errori. È comodo poter assegnare direttamente a lui quel particolare commit, segnalarlo per il follow-up e poi tenere traccia del fatto che sia stato seguito.

  • Discourse è piuttosto fantastico per quanto riguarda le conversazioni, e le piccole funzionalità fanno una grande differenza: vedo quando le persone stanno scrivendo. Non devo mai aggiornare le pagine per vedere le modifiche. La citazione è molto comoda, il caricamento delle immagini è piacevole, e così via.

  • Discourse è davvero bravo nella gestione dello stato di lettura: hai garanzie molto solide di aver letto ogni singola cosa una volta sola; con GitHub non ho idea di quali commit abbia letto e quali no. Abbiamo un sistema incredibilmente efficiente per gestire il flusso continuo di informazioni.

E l’elenco continua…

Quindi Review funge da complemento a GitHub: al momento usiamo GitHub per gestire le modifiche che non sono ancora state integrate. E usiamo Review per gestire correttamente le modifiche che sono già state integrate.

70 Mi Piace