Revisione del codice di Discourse

:discourse2: Sintesi Discourse Code Review consente di effettuare la revisione dei 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à

Cos’è?

Il plugin Discourse Code Review fornisce un’integrazione bidirezionale con i repository di codice di GitHub. Consente al tuo team di revisionare i commit di un repository sfruttando le funzionalità e i plugin di Discourse come assegnazione, messaggi privati (whispers), notifiche, flussi di lavoro personalizzati e così via. Ogni commit a un repository diventa un argomento. Le risposte all’argomento vengono replicate su GitHub. L’integrazione è bidirezionale, il che significa che puoi commentare su Discourse e vedere il commento su GitHub, oppure commentare su GitHub e vederlo su Discourse.

Fornisce un flusso di lavoro molto potente per i team che devono revisionare tutti i commit di un numero qualsiasi di repository.

Consente di assicurarsi che più membri del team siano a conoscenza di tutti i cambiamenti applicati ai repository. Puoi contrassegnare i commit per un follow-up, assegnare il lavoro di revisione e altro ancora.

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

Posso vederlo in azione?

Discourse utilizza questo plugin internamente per tenere traccia dei repository. Puoi vedere un esempio del lato Discourse qui:

Su GitHub lo stesso argomento appare così:

Configurazione

Il plugin si basa sui webhook di GitHub per rilevare i repository e le modifiche ai repository. Per una configurazione minima, è necessario impostare la seguente impostazione con una stringa segreta.

code review github webhook secret

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

URL del payload: https://YOUR_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 fornisce le seguenti impostazioni aggiuntive del sito:

code review api username: GitHub è molto restrittivo con il numero di richieste API anonime consentite; questa impostazione consente di utilizzare le chiavi dell’account di un utente Discourse per le richieste /comments e /commit. Questo riduce notevolmente le probabilità di raggiungere i limiti di frequenza (rate limits).

code review catch up commits: numero di commit da “recuperare” e per i quali 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 per impostazione predefinita

code review approved tag: Tag da applicare ai commit approvati, approved per impostazione predefinita

code_review_followup_tag: Tag da applicare ai commit per il follow-up, follow-up per impostazione predefinita

code review allow self approval: Il personale (staff) è autorizzato ad approvare i propri commit?

code review default mute new categories: Le nuove categorie create da code review sono soppresse (muted) per gli utenti per impostazione predefinita

code review skip duration minutes: Cliccare sul pulsante di salto (skip) su un commit impedirà a quel commit di essere visualizzato di nuovo per il numero di minuti impostato da questa configurazione.

CHANGELOG

TODO

Extra

Come Discourse utilizza questo plugin

In breve - Questo plugin è stato progettato per integrare l’uso di GitHub da parte del team di Discourse per la revisione del codice.

Maggiori informazioni

Da @sam:

  • Utilizziamo ancora le PR utilizzando l’interfaccia di GitHub e ci piace molto fare PR per molte modifiche. Qui non è cambiato nulla. GitHub è fantastico, ci piace GitHub. Hanno un’eccellente workflow per le modifiche che non sono ancora state integrate. Tuttavia…

  • La workflow di GitHub per le modifiche che sono state committate direttamente al repository è terribile.

  • Review colma un vuoto che semplicemente non può essere colmato 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 usare l’interfaccia fornita da GitHub, nessuno sarebbe mai autorizzato a fare altro che pull request. Questo ci rallenterebbe enormemente.

  • Abbiamo bisogno della possibilità di comunicare in privato senza che il mondo intero lo sappia riguardo a determinate modifiche. Ad esempio: Dovremmo rilasciare questa fantastica correzione a <inserire il nome della grande azienda> il prima possibile, @sam puoi occupartene?

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

  • Abbiamo bisogno della possibilità di assegnare commit specifici a un utente. Diciamo che @sam fa un commit contenendo alcuni errori. È bello poter assegnargli direttamente quel commit specifico, contrassegnarlo per il follow-up e poi tenerne traccia.

  • Discourse è piuttosto fantastico in tutta questa questione di conversazione, e le piccole funzionalità fanno una differenza piuttosto grande: posso vedere quando le persone stanno digitando. Non devo mai aggiornare le pagine per vedere le modifiche apparire. Citare è davvero comodo, il caricamento di immagini è comodo, e così via.

  • Discourse è molto bravo con lo stato di lettura: ottieni garanzie molto forti di aver letto ogni singola cosa una volta; con GitHub non ho idea di quali commit ho letto e quali no. Abbiamo un meccanismo incredibilmente efficiente per gestire il flusso di informazioni.

E l’elenco continua…

Quindi Review agisce come un 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.

72 Mi Piace