Existe uma maneira de o GitHub enviar notificações de confirmação, incluindo o diff?

11

Alguém sabe uma maneira de receber notificações de solicitação de confirmação / recebimento de email do GitHub, incluindo o diff completo da confirmação?

Eu sei sobre o gancho do serviço de e-mail, mas isso não envia o diff.

Oin
fonte
Você pode querer dialogar sobre github.com/github/github-services/issues/149 - os ganchos de serviços nem sequer obter o diff
Alex Dupuy
Não prenda a respiração, no entanto, github.com/github/github-services/issues/86 foi fechado em abril, portanto, parece improvável que eles também façam alguma coisa com o problema 149.
AlexDupuy
Esta pergunta foi respondida (no negativo, principalmente) em stackoverflow.com/questions/4211107/…
Alex Dupuy
@Alex - Gostaria de postar seu comentário como resposta para ajudar a tirar essa pergunta da primeira página de perguntas sem resposta?
Shannon Wagner
@ ShannonWagner - publicado. Eu até descobri uma maneira de fazer tudo isso acontecer, usando recursos locais e outras ferramentas, mas as instruções são apenas um esboço, e fazer acontecer exigiria scripts, montagem e baterias não incluídos.
AlexDupuy

Respostas:

3

No momento, não há como fazer o que você deseja usando apenas o GitHub. Conforme observado em /programming/4211107/how-to-get-email-diffs-for-github-pushes , não há suporte no GitHub para enviar e-mails, incluindo diffs. Existem duas questões levantadas no GitHub perguntando sobre isso - http://github.com/github/github-services/issues/86 (fechado) e http://github.com/github/github-services/issues/149, mas embora eles dizem que isso é algo que eles podem implementar no futuro, não há indicação de que isso acontecerá.

Dito isso, se você deseja executar seu próprio servidor da Web ou de email (local ou na nuvem, mas com script) com repositório git, você mesmo pode criar isso usando as notificações pós-recebimento do GitHub ( http: //help.github .com / articles / ganchos pós-recebimento) enviado para o servidor da Web ou notificações de email normais (sem diferenças) enviadas para um endereço especial no servidor de email. A escolha entre a notificação via web e por e-mail seria feita dependendo de onde e como você está hospedando seu servidor - se você tiver boa conectividade e confiabilidade, as notificações na web terão menor latência, mas se o seu servidor estiver inacessível por qualquer motivo, você não receberá uma notificação até a próxima confirmação feita enquanto o servidor da web estiver acessível; o uso de e-mail atrasará todo o processo, mas pode ser preferível se você o hospedar em casa e, especialmente, em qualquer máquina que nem sempre esteja ligada.

Em qualquer um dos casos, você teria que escrever um script que receba a notificação (email ou web / JSON) e puxe os repositórios relevantes do GitHub para um repositório local, onde seria necessário configurar as postagens internas do Git. receber mecanismo de gancho para executar algo como http://github.com/jtek/git-hook-update-notify-email (mencionado no artigo stackoverflow acima) ou se você estiver disposto e apto a instalar e usar os pigmentos (código Python colorizer) talvez algo mais bonito como http://blog.chomperstomp.com/making-git-show-post-receive-e-mails-as-an-html-color-formatted-diff/ (vinculado a / de https: //stackoverflow.com/questions/3232270/git-post-receive-email-hook-to-show-an-html-formatted-color-diff/ ).

É um pouco de trabalho de script e requer que você tenha alguma infraestrutura de hospedagem para executar o servidor da Web ou de email, o script de recebimento local e, em seguida, o gancho pós-recebimento local para gerar o email real com diffs, mas deve ser possível configurá-lo em menos de um dia.

Alex Dupuy
fonte