Есть ли способ заставить GitHub отправлять уведомления о коммитах, включая diff?


11

Кто-нибудь знает, как получать уведомления о фиксации / извлечении GitHub по электронной почте, включая полный отчет о коммите?

Я знаю о хуке почтовой службы, но это не вызывает различий.


Возможно, вы захотите присоединиться к github.com/github/github-services/issues/149 - сервисные хуки даже не получают различий
Alex Dupuy

Но не затаив дыхание, github.com/github/github-services/issues/86 был закрыт в апреле, поэтому вряд ли они что-то сделают с проблемой 149.
Алекс Дюпуй

На этот вопрос ответили (в основном отрицательно) по адресу stackoverflow.com/questions/4211107/…
Alex Dupuy

@ Алекс - Хотите опубликовать свой комментарий в качестве ответа, чтобы убрать этот вопрос с первой страницы вопросов без ответа?
Шеннон Вагнер

@ShannonWagner - так размещено. Я даже придумал способ сделать все это, используя локальные ресурсы и другие инструменты, но инструкции представляют собой лишь приблизительную схему, и для этого потребуются сценарии, сборка и не включенные батареи.
Алекс Дюпюй

Ответы:


3

В настоящее время нет способа делать то, что вы хотите, используя только GitHub. Как отмечено в /programming/4211107/how-to-get-email-diffs-for-github-pushes , в GitHub нет поддержки для отправки электронных писем, включая diff. По этому поводу возникли две проблемы GitHub - http://github.com/github/github-services/issues/86 (закрыто) и http://github.com/github/github-services/issues/149, но хотя они говорят, что это то, что они могли бы реализовать в будущем, нет никаких признаков того, что это произойдет.

Тем не менее, если вы хотите запустить свой собственный (локальный или облачный, но со сценариями) веб-сервер или почтовый сервер с git-репозиторием, вы можете создать его самостоятельно, используя GitHub-уведомления после получения ( http: //help.github .com / статьи / пост-Receive-крюки) отправленные на ваш веб-сервер, или обычные (без различий) почтовые уведомления, отправленные на специальный адрес на вашем почтовом сервере. Выбор между веб-уведомлением и уведомлением по электронной почте будет сделан в зависимости от того, где и как вы размещаете свой сервер - если у вас хорошая связь и надежность, веб-уведомления будут иметь минимальную задержку, но если ваш веб-сервер недоступен по любой причине, вы не получите уведомление, пока не будет сделан следующий коммит, пока ваш веб-сервер доступен; использование электронной почты задержит весь процесс, но может быть предпочтительнее, если вы размещаете его дома, особенно на любом компьютере, который не всегда включен.

В любом случае вам придется написать скрипт, который принимает уведомление (по электронной почте или через web / JSON) и перетягивает соответствующие репозитории из GitHub в локальный репозиторий, где вам нужно будет настроить внутренний пост-Git. Получите механизм ловушек для запуска чего-то вроде http://github.com/jtek/git-hook-update-notify-email (упоминается в статье выше, посвященной stackoverflow) или если вы желаете и можете установить и использовать Pygments (код Python colorizer) возможно, что-то приятнее, похожее на http://blog.chomperstomp.com/making-git-show-post-receive-e-mails-as-an-html-color-formatted-diff/ (связано с https: //stackoverflow.com/questions/3232270/git-post-receive-email-hook-to-show-an-html-formatted-color-diff/ ).

Это небольшая работа со сценариями, требующая наличия некоторой хостинг-инфраструктуры для запуска веб- или почтового сервера, сценария local-pull, а затем локальной ловушки post-receive для генерации реальной электронной почты с помощью diff, но должно быть возможно установить это менее чем за день.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.