C'è un modo per fare in modo che GitHub invii notifiche di commit, incluso il diff?


11

Qualcuno sa come avere notifiche via e-mail di GitHub per le richieste di commit / pull incluso il diff completo del commit?

Conosco l'hook del servizio e-mail, ma questo non invia il diff.


Potresti voler entrare in github.com/github/github-services/issues/149 - gli hook di servizio non ottengono nemmeno il diff
Alex Dupuy

Non trattenere il respiro, tuttavia, github.com/github/github-services/issues/86 è stato chiuso ad aprile, quindi sembra improbabile che facciano nulla con il problema 149.
Alex Dupuy,

A questa domanda è stata data una risposta (principalmente negativa) su stackoverflow.com/questions/4211107/…
Alex Dupuy

@Alex - Vuoi pubblicare il tuo commento come risposta per aiutarti a spostare questa domanda dalla prima pagina di domande senza risposta?
Shannon Wagner,

@ShannonWagner - così pubblicato. Ho anche trovato un modo per far sì che tutto accadesse, usando risorse locali e altri strumenti, ma le istruzioni sono solo uno schema approssimativo, e realizzarlo richiederebbe script, assemblaggio e batterie non incluse.
Alex Dupuy,

Risposte:


3

Al momento, non c'è modo di fare quello che vuoi usando solo GitHub. Come notato in /programming/4211107/how-to-get-email-diffs-for-github-pushes , GitHub non offre supporto per l'invio di e-mail, inclusi i diff. Ci sono due problemi di GitHub sollevati che chiedono questo: http://github.com/github/github-services/issues/86 (chiuso) e http://github.com/github/github-services/issues/149 ma sebbene dicono che questo è qualcosa che potrebbero implementare in futuro, non vi è alcuna indicazione che ciò accadrà.

Detto questo, se sei disposto a gestire il tuo server Web o e-mail (locale o cloud ospitato, ma con scripting) con repository git, puoi costruirlo tu stesso usando le notifiche post-ricezione di GitHub ( http: //help.github .com / articoli / Post-ricevere-ganci) inviate al tuo server web o normali (senza diff) notifiche e-mail inviate a un indirizzo speciale sul tuo server e-mail. La scelta tra notifica via web ed e-mail verrebbe effettuata in base a dove e come stai ospitando il tuo server: se hai una buona connettività e affidabilità, le notifiche web avranno la latenza più bassa, ma se il tuo web server non è raggiungibile per qualsiasi motivo, non riceverai una notifica fino al prossimo commit effettuato mentre il tuo web server è raggiungibile; l'uso della posta elettronica ritarderà l'intero processo, ma potrebbe essere preferibile se lo stai ospitando a casa, e specialmente per qualsiasi macchina che non è sempre accesa.

In entrambi i casi, dovresti scrivere uno script che prende la notifica (e-mail o web / JSON) e tira i repository pertinenti da GitHub in un repository locale, dove dovresti impostare il post interno di Git ricevere il meccanismo di hook per eseguire qualcosa come http://github.com/jtek/git-hook-update-notify-email (menzionato nell'articolo stackover sopra) o se si è disposti e in grado di installare e utilizzare Pygments (codice Python colorizer) forse qualcosa di più bello che sembra http://blog.chomperstomp.com/making-git-show-post-receive-e-mails-as-an-html-color-formatted-diff/ (collegato a / da https: //stackoverflow.com/questions/3232270/git-post-receive-email-hook-to-show-an-html-formatted-color-diff/ ).

È un po 'di lavoro di scripting e richiede di disporre di un'infrastruttura di hosting per eseguire il server Web o e-mail, lo script pull locale e quindi l'hook post-ricezione locale per generare l'e-mail effettiva con diff, ma dovrebbe essere possibile configurarlo in meno di un giorno.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.