| Resumo | Discourse Code Review permite revisar commits do GitHub no Discourse. | |
| Link do Repositório | https://github.com/discourse/discourse-code-review | |
| Guia de Instalação | Como instalar plugins no Discourse |
Recursos
O que é?
O plugin Discourse Code Review fornece integração bidirecional com repositórios de código do GitHub. Ele permite que sua equipe revise commits em um repositório aproveitando recursos e plugins do Discourse, como atribuição (assign), sussurros (whispers), notificações, fluxos de trabalho personalizados e assim por diante. Cada commit em um repositório se torna um tópico. As respostas ao tópico são espelhadas no GitHub. A integração é bidirecional, o que significa que você pode comentar no Discourse e vê-lo no GitHub, ou comentar no GitHub e vê-lo no Discourse.
Ele fornece um fluxo de trabalho muito poderoso para equipes que precisam revisar todos os commits em qualquer número de repositórios.
Ele permite que você garanta que vários membros da equipe estejam cientes de todas as alterações aplicadas aos repositórios. Você pode marcar commits para acompanhamento, atribuir trabalho de revisão e mais.
Nota: Ao visualizar um tópico que pode ser aprovado, você pode usar a tecla y no seu teclado para aprovar commits mais rapidamente.
Posso vê-lo em Ação?
O Discourse usa este plugin internamente para acompanhar repositórios. Você pode ver um exemplo do lado do Discourse aqui:
No GitHub, o mesmo tópico se parece com isto:
Configuração
O plugin depende de webhooks do GitHub para descobrir repositórios e mudanças nos repositórios. Para uma configuração mínima, você precisará definir a seguinte configuração para uma string secreta.
code review github webhook secret
Uma vez definido no seu repositório do GitHub, configure um webhook com:
URL de Payload: https://YOUR_DISCOURSE/code-review/webhook
Tipo de Conteúdo: application/json
Segredo: o valor de code review github webhook secret
Tipos de Evento:
- Comentários de commit
- Comentários de issue
- Pull requests
- Revisões de pull request
- Comentários de revisão de pull request
- Pushes
O plugin fornece as seguintes configurações adicionais do site:
code review api username : O GitHub é muito restritivo quanto ao número de solicitações de API anônimas que permite. Esta configuração permite que você use as chaves da conta de um usuário do Discourse para solicitações de /comments e /commit. Isso reduz drasticamente as chances de atingir limites de taxa (rate limits).
code review catch up commits : número de commits para “atualizar” e criar tópicos quando você encontrar um novo repositório.
code review default parent category: escolha uma categoria pai padrão para as categorias criadas pelo plugin
code review pending tag: Tag a ser aplicada a todos os commits não revisados, pending por padrão
code review approved tag: Tag a ser aplicada a commits aprovados, approved por padrão
code_review_followup_tag: Tag a ser aplicada a commits de acompanhamento, follow-up por padrão
code review allow self approval: A equipe (staff) é permitida a aprovar seus próprios commits?
code review default mute new categories: Novas categorias criadas pelo code review são silenciadas (muted) para usuários por padrão
code review skip duration minutes: Clicar no botão de pular em um commit impedirá que esse commit apareça novamente pelo número de minutos definido por esta configuração.
CHANGELOG
TODO
Extras
Como o Discourse Usa Este Plugin
TL;DR - Este plugin foi projetado para complementar o uso do GitHub pela equipe do Discourse para revisão de código.
Mais Informações
De @sam:
Ainda usamos PRs usando a interface do GitHub e gostamos de fazer PRs para muitas mudanças. Nada mudou aqui. O GitHub é fantástico, amamos o GitHub. Eles têm um excelente fluxo de trabalho para mudanças que ainda não foram implementadas. No entanto…
O fluxo de trabalho do GitHub para mudanças que foram commitadas diretamente no repositório é terrível.
A revisão preenche uma lacuna que simplesmente não pode ser preenchida com o GitHub hoje. Gostaríamos que pelo menos um membro da equipe revisasse cada mudança feita aos nossos diversos repositórios git pertencentes ao Discourse. Se formos usar a interface fornecida pelo GitHub, ninguém será jamais permitido fazer nada além de pull requests. Isso nos atrasaria enormemente.
Precisamos da capacidade de comunicar-se em privado, sem que o mundo todo saiba, em relação a certas mudanças. Por exemplo: Melhorarmos implantar esse ótimo fix para
<insira o nome da grande empresa>o mais rápido possível, @sam, você pode cuidar disso?Precisamos da capacidade de aprovar mudanças feitas ou solicitar acompanhamento. Isso é algo que a interface do GitHub não oferece.
Precisamos da capacidade de atribuir commits específicos a um usuário. Digamos que @sam faça um commit contendo alguns erros. É bom que possamos atribuir diretamente a ele aquele commit específico, marcá-lo para acompanhamento e depois acompanhar o seu progresso.
O Discourse é bastante fantástico em toda essa questão de conversação, e os pequenos recursos fazem uma diferença bastante grande. Posso ver quando as pessoas estão digitando. Nunca preciso atualizar as páginas para que as mudanças apareçam. Citar é muito bom, o upload de imagens é bom, e assim por diante.
O Discourse é muito bom em estado de leitura. Você tem garantias muito fortes de que leu cada coisa uma vez. Com o GitHub, não tenho ideia de quais commits li e quais não li. Temos uma eficiência incrível para lidar com o jato de informações.
E a lista continua…
Então, a revisão atua como um complemento ao GitHub. Usamos o GitHub no momento para lidar com mudanças que ainda não foram implementadas. E usamos a revisão para lidar adequadamente com mudanças que já foram implementadas.

