Jak skonfigurować odpowiedni punkt zaczepienia Git, aby wysyłał podsumowanie wiadomości e-mail za każdym razem, gdy zestaw zmian jest wysyłany do repozytorium głównego?
Jak skonfigurować odpowiedni punkt zaczepienia Git, aby wysyłał podsumowanie wiadomości e-mail za każdym razem, gdy zestaw zmian jest wysyłany do repozytorium głównego?
Odpowiedzi:
Innym, nowocześniejszym sposobem na to jest użycie git-multimail , jak sugerują poniższe Chords .
Tak to zrobiłeś w 2009 roku.
Można dodać coś jak to do Twojego postu, otrzymasz hak w $ GITDIR / haczyki lub użyć skryptu w katalogu contrib źródła (dostępne tutaj)
Oto najprostsze rozwiązanie, jakie znalazłem:
1) Zaloguj się na swoje konto gitHub na github.com
2) W zakładce głównej kliknij Ustawienia
3) Z głównej nawigacji wybierz Service Hooks
4) Z dostępnych haków wybierz Email
5) Wpisz swój adres e-mail w polu Adres
6) Zaznacz pole wyboru Wyślij od autora
7) Zaznacz pole wyboru Aktywne
8) Kliknij Ustawienia aktualizacji
Opcjonalnie: Możesz kliknąć Test Hook do testowania, sprawdź swoją skrzynkę odbiorczą, do której powinieneś otrzymać e-mail.
Istnieją również obrazy wykonane zgodnie z procesem:
A teraz, na wielki finał , mam odpowiedź, która została przetestowana i zatwierdzona po mojej stronie.
Jak wysłać wiadomość e-mail do WSZYSTKICH członków zespołu programistów, gdy haki serwisowe gitHub-> e-mail dopuszczają maksymalnie 2 odbiorców} .
Odpowiedzią jest połączenie Service Hook-> Email @ GitHub && Google Groups
To jest mój sposób na wysyłanie powiadomień e-mail do użytkowników za każdym razem, gdy ktoś wrzuci do repozytorium.
Konfigurowanie powiadomienia e-mail o zatwierdzeniu przez Git
Jest oparty na scenariuszach Andy'ego Parkinsa. Zmieniam to na używany SMTP do wysyłania wiadomości e-mail. Oczywiście można również użyć SMTP Gmaila.
Robin Sommera dydaktycznego git-zgłaszający generuje również bardzo ładne streszczenia w następującym formacie:
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)
ustawienie hooks.showrev nie robi żadnej zauważalnej różnicy? : - /
Przykładowe konf:
# 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] "
Udało mi się to zrobić, ale musiałem zdecydować się na użycie skryptu Contrib, a nie innego skryptu (perl) autorstwa Alexandre Julliard. Wydaje się bardziej wyszukany i bardziej konfigurowalny, ale z postfixem nie miałem polecenia poczty, które zaakceptowałoby "-s"? Oto moja droga:
http://pastie.textmate.org/695323
Byłoby miło pokazać trochę więcej informacji, takich jak pełna łatka, link do gitweb i wykres zatwierdzeń, ale ten skrypt może zrobić tylko pierwszy - jeśli będę bawić się hooks.showrev, jak się wydaje.
W każdym razie okrzyki i dzięki za sugestie!
Jeśli korzystasz z systemu Windows, pomocny byłby scm-notifier .
Nie jest to do końca pełna odpowiedź, ponieważ jest ona specyficzna dla Github, ale jeśli zdarzy ci się używać Githuba, niezwykle łatwo jest skonfigurować „Service hooki”.
Dla każdego repozytorium, które chcesz monitorować, wprowadź Ustawienia / Haki serwisowe.
Dostępnych jest wiele integracji, takich jak Trac, Twitter, Amazon SNS, Jira, Asana, Bugzilla, FogBugz, IRC, Jabber, Pivotal Tracker, Trello i Email ...
Po prostu wybierz e-mail i podaj grupowy adres e-mail.
Używamy powiadomień e-mail do synchronizacji naszych programistów.
Jeśli korzystasz z GitLab, możesz w tym celu skorzystać z usługi projektu „Email-on-push”, którą można znaleźć w usługach w ustawieniach projektu.
Możesz użyć 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
Zainstalować:
cd project
cp pre-commit .git/hooks
chmod +x .git/hooks/pre-commit
gem install mail
Test:
echo "# some change" >> Gemfile && git commit -m 'some change' Gemfile
W GitLab pod Twoim repozytorium:
Otwiera się nowa strona E-maile w trybie push
Istnieje również opcja Wyłącz różnice w kodzie, które wykluczają potencjalnie wrażliwe różnice w kodzie w treści powiadomienia. Jest to opcjonalne.
Aby uzyskać więcej informacji: Kliknij tutaj