Как настроить подходящий крюк Git для отправки сводного сообщения электронной почты всякий раз, когда набор изменений переносится в восходящий репозиторий?
Git hook для отправки уведомлений по электронной почте об изменениях репо
Ответ 1
Другой, более современный способ сделать это - использовать git-multimail, как предложено в Chords ниже.
Вот как ты это сделал в 2009 году.
Вы можете добавить что-то вроде этого в свой обработчик post-receive в $ GITDIR/hooks или использовать скрипт в каталоге contrib исходного кода (доступно здесь)
Ответ 2
Вот самое простое решение, которое я нашел:
1) Войдите в свою учетную запись gitHub на github.com
2) На главной вкладке нажмите Настройки
3) Из основной навигации выберите Сервис-крючки
4) Из доступных кликов выберите Email
5) Заполните свой адрес электронной почты в поле Адрес
6) Установите флажок Отправить от автора
7) Установите флажок Активно
8) Нажмите Настройки обновления
Дополнительно: вы можете нажать Test Hook для тестирования, проверить свой почтовый ящик, вы должны получать электронную почту.
Также есть изображения, сделанные в соответствии с процессом:
И теперь для Grand final у меня есть ответ, который проверен и одобрен на моей стороне.
Как отправить электронную почту всем членам группы разработчиков, когда gitHub Service Hooks- > Email разрешает использовать не более 2 получателей.
Ответ представляет собой комбинацию Service Hook- > Email @GitHub && & && Группы Google
- Первый вход в вашу учетную запись google
- Перейдите в Группы Google и в верхней части нажмите Создать группу
- Введите имя группы, адрес электронной почты группы (скопируйте/вставьте в GitHub Service Hook- > Адрес электронной почты), Описание группы
- После того, как вы нажмете кнопку Create в верхней части, ваша новая группа должна быть Создано сейчас
- После этого в меню слева нажмите Пригласить участников и введите в адресах электронной почты ваших товарищей по команде.
- После этого нажмите Отправить приглашения (когда ваши участники принимают приглашение), теперь они официально являются членами этой группы.
- В меню слева нажмите Все участники и проверьте 4-й столбец Доставка, каждый член команды должен иметь опцию Вся электронная почта.
- После этого я хотел бы поблагодарить Mr. Clement Escoffier и пожалуйста, следуйте его рекомендациям @Clement Escoffier:: Отправить Github обязывает группу Google о том, как закончи это. {Спасибо, Климент:)}
- Если ссылка становится недоступной, это еще одна ссылка на мой gDocs @ PDF-версия руководства Clements
Ответ 3
Это мой способ отправлять уведомления по электронной почте пользователям каждый раз, когда кто-то нажимает на хранилище.
Настройка уведомления по электронной почте Git Commit
Он основан на сценариях Энди Паркинса. Я изменил его на используемый SMTP для отправки электронной почты. Конечно, также можно использовать SMTP Gmail.
Ответ 4
Робин Соммер git-notifier генерирует также очень красивые сводки в следующем формате:
Subject: [git/git-notifier] master: Adding www target to Makefile. (7dc1f95)
Repository : ssh://<removed>/git-notifier
On branch : master
>---------------------------------------------------------------
commit 7dc1f95c97275618d5bde1aaf6760cd7ff6a6ef7
Author: Robin Sommer <[email protected]>
Date: Sun Dec 19 20:21:38 2010 -0800
Adding www target to Makefile.
>---------------------------------------------------------------
Makefile | 6 ++++++
1 files changed, 6 insertions(+), 0 deletions(-)
diff --git a/Makefile b/Makefile
index e184c66..9c9951b 100644
--- a/Makefile
+++ b/Makefile
@@ -5,6 +5,8 @@ VERSION = 0.1
DISTFILES = git-notifier README COPYING
+WWW = $(HOME)/www/git-notifier
+
all:
dist:
@@ -13,3 +15,7 @@ dist:
cp $(DISTFILES) git-notifier-$(VERSION)
tar czvf git-notifier-$(VERSION).tgz git-notifier-$(VERSION)
rm -rf git-notifier-$(VERSION)
+
+www: dist
+ rst2html.py README >$(WWW)/index.html
+ cp git-notifier-$(VERSION).tgz $(WWW)
Ответ 5
установка hooks.showrev не делает различимой разницы?: -/
Пример conf:
# less users/cj.git/config
[core]
repositoryformatversion = 0
filemode = true
bare = true
[hooks]
mailinglist = [email protected]
showrev = "git show -C %s; echo"
emailprefix = "[sabu gitosis server] "
Ответ 6
Мне удалось это сделать, но мне пришлось отказаться от использования contrib script, а не другого (perl) script от Alexandre Julliard. Кажется, это более привлекательно и более настраиваемо, но с postfix у меня не было почтовой команды, которая принимала бы "-s"? Здесь мой путь:
http://pastie.textmate.org/695323
Было бы неплохо показать дополнительную информацию, такую как полный патч, gitweb link и commit graph, но этот script может делать только первый - если я играю с hooks.showrev, это кажется.
В любом случае, приветствия и благодарности за предложения!
Ответ 7
Если вы используете окна, scm-notifier будет полезно.
Ответ 8
Не совсем полный ответ, поскольку он специфичен для Github, но если вы используете Github, очень просто настроить "Service Hooks".
Для каждого репозитория, который вы хотите контролировать, введите "Настройки" / "Служебные крючки".
Существует множество доступных интеграций, таких как Trac, Twitter, Amazon SNS, Jira, Asana, Bugzilla, FogBugz, IRC, Jabber, Pivotal Tracker, Trello и Email....
Просто выберите адрес электронной почты и отправьте его по электронной почте.
Мы используем уведомления по электронной почте для синхронизации наших разработчиков.
Ответ 9
Если вы используете GitLab, вы можете использовать сервис проекта "Email-on-push" для этого, его можно найти в службах в настройках проекта.
Ответ 10
Вы можете использовать pre-commit:
#!/usr/bin/env ruby
require 'mail'
Mail.defaults do
delivery_method :smtp,
address: 'smtp.gmail.com',
port: 587,
user_name: '...',
password: '...',
authentication: 'plain',
enable_starttls_auto: true
end
changes=`git diff --cached --unified=0 Gemfile Bowerfile`
unless changes.empty?
Mail.deliver do
from '...'
to '...'
subject '[PROJECT] Plese confirm team can use libraries'
body changes
end
end
Установка:
cd project
cp pre-commit .git/hooks
chmod +x .git/hooks/pre-commit
gem install mail
Тест:
echo "# some change" >> Gemfile && git commit -m 'some change' Gemfile