Как мне настроить соответствующий Git-обработчик для отправки сводного электронного письма всякий раз, когда набор изменений помещается в вышестоящий репозиторий?
Как мне настроить соответствующий Git-обработчик для отправки сводного электронного письма всякий раз, когда набор изменений помещается в вышестоящий репозиторий?
Ответы:
Другой, более современный способ сделать это - использовать git-multimail , как предлагает Chords ниже.
Вот как вы это сделали в 2009 году.
Вы можете добавить что - то вроде этого , чтобы ваш пост-получить крюк в $ GITDIR / крюками, или использовать скрипт в каталоге CONTRIB источника (доступно здесь)
Вот простейшее решение, которое я нашел:
1) Войдите в свою учетную запись gitHub на github.com
2) На главной вкладке нажмите Настройки.
3) На главной панели навигации выберите Service Hooks.
4) Из доступных хуков выберите электронную почту.
5) Введите свой адрес электронной почты в поле Адрес
6) Установите флажок Отправить от автора.
7) Установите флажок Активно
8) Нажмите « Обновить настройки».
Необязательно: вы можете нажать Test Hook для тестирования, проверьте свой почтовый ящик, вы должны получить электронное письмо.
Также есть изображения, сделанные по технологии:
А теперь к гранд-финалу у меня есть ответ, который проверен и одобрен на моей стороне.
Как отправить электронное письмо ВСЕМ членам команды разработчиков, когда сервисные хуки-> Электронная почта gitHub допускают не более двух получателей} .
Ответ - комбинация Service Hook-> Email @ GitHub && групп Google.
Это мой способ отправлять пользователям уведомления по электронной почте каждый раз, когда кто-то нажимает на репозиторий.
Настройка уведомления по электронной почте Git Commit
Он основан на сценариях Энди Паркинса. Я меняю его на использование SMTP для отправки электронной почты. Конечно, можно также использовать SMTP Gmail.
Робин Sommer «сек ГИТ-уведомитель создает очень хорошие резюме в следующем формате:
Subject: [git/git-notifier] master: Adding www target to Makefile. (7dc1f95)
Repository : ssh://<removed>/git-notifier
On branch : master
>---------------------------------------------------------------
commit 7dc1f95c97275618d5bde1aaf6760cd7ff6a6ef7
Author: Robin Sommer <robin@icir.org>
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)
установка hooks.showrev не имеет никакого значения? : - /
Пример конфигурации:
# less users/cj.git/config
[core]
repositoryformatversion = 0
filemode = true
bare = true
[hooks]
mailinglist = cj@yoga.ee
showrev = "git show -C %s; echo"
emailprefix = "[sabu gitosis server] "
Мне удалось это сделать, но пришлось выбрать использование сценария contrib, а не другого сценария (perl) Александра Джуллиарда. Это кажется более привлекательным и настраиваемым, но с postfix у меня не было почтовой команды, которая принимала бы "-s"? Вот мой путь:
http://pastie.textmate.org/695323
Было бы неплохо показать дополнительную информацию, например, полный патч, ссылку на gitweb и график фиксации, но этот скрипт может сделать только первое - если я поиграю с hooks.showrev, кажется.
В любом случае, приветствую и спасибо за предложения!
Если вы используете окна, вам пригодится scm-notifier .
Не совсем полный ответ, поскольку он специфичен для Github, но если вы используете Github, настроить «Service Hooks» очень просто.
Для каждого репозитория, который вы хотите отслеживать, введите «Настройки» / «Сервисные хуки».
Существует множество доступных интеграций, таких как Trac, Twitter, Amazon SNS, Jira, Asana, Bugzilla, FogBugz, IRC, Jabber, Pivotal Tracker, Trello и электронная почта ....
Просто выберите электронную почту и загрузите ее с групповым адресом электронной почты.
Мы используем уведомления по электронной почте для синхронизации наших разработчиков.
Если вы используете GitLab, вы можете использовать для этого службу проекта «Email-on-push», ее можно найти в разделе «Сервисы» в настройках проекта.
Вы можете использовать предварительную фиксацию:
#!/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
В GitLab в вашем репозитории:
Открывается новая страница Электронные письма при нажатии
Также есть опция Отключить различия кода, которые исключают потенциально чувствительные различия кода в теле уведомления. Это необязательно.
Для получения дополнительной информации: нажмите здесь