Wie konfiguriere ich den entsprechenden Git-Hook zum Senden einer zusammenfassenden E-Mail, wenn eine Reihe von Änderungen in das Upstream-Repository übertragen wird?
Wie konfiguriere ich den entsprechenden Git-Hook zum Senden einer zusammenfassenden E-Mail, wenn eine Reihe von Änderungen in das Upstream-Repository übertragen wird?
Antworten:
Eine andere, modernere Möglichkeit, dies zu tun, ist die Verwendung von Git-Multimail , wie von den folgenden Akkorden vorgeschlagen .
So haben Sie es 2009 gemacht.
Man könnte so etwas wie hinzufügen , diese zu Ihrem Post erhalten Haken in $ GITDIR / Haken, oder verwenden Sie das Skript im contrib - Verzeichnis der Quelle (hier)
Hier ist die einfachste Lösung, die ich gefunden habe:
1) Melden Sie sich bei Ihrem gitHub-Konto auf github.com an
2) Klicken Sie auf der Hauptregisterkarte auf Einstellungen
3) Wählen Sie in der Hauptnavigation Service Hooks
4) Wählen Sie unter Verfügbare Hooks die Option E-Mail
5) Geben Sie Ihre E-Mail-Adresse in das Feld Adresse ein
6) Aktivieren Sie das Kontrollkästchen Vom Autor senden
7) Aktivieren Sie das Kontrollkästchen Aktiv
8) Klicken Sie auf Einstellungen aktualisieren
Optional: Sie können zum Testen auf Test Hook klicken und Ihren Posteingang überprüfen, in dem Sie eine E-Mail erhalten sollen.
Es gibt auch Bilder, die nach dem Verfahren erstellt wurden:
Und jetzt für das große Finale habe ich die Antwort, die an meiner Seite getestet und genehmigt wird.
So senden Sie E-Mails an ALLE Mitglieder des Entwicklungsteams, wenn die Service Hooks von gitHub-> E-Mail höchstens 2 Empfänger zulassen} .
Die Antwort ist eine Kombination aus Service Hook-> Email @ GitHub && Google-Gruppen
Auf diese Weise sende ich E-Mail-Benachrichtigungen an Benutzer, wenn jemand einen Push an das Repository sendet.
Einrichten der Git Commit-E-Mail-Benachrichtigung
Es basiert auf Andy Parkins 'Skripten. Ich ändere es auf SMTP, um E-Mails zu senden. Natürlich kann auch SMTP von Google Mail verwendet werden.
Robin Sommer ‚s git-Notifier erzeugt auch sehr schön Zusammenfassungen in folgendem Format:
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)
Das Setzen von hooks.showrev macht keinen unterscheidbaren Unterschied? : - /
Beispielkonf.:
# 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] "
Ich habe das geschafft, musste mich aber für das Contrib-Skript entscheiden, nicht für das andere (Perl-) Skript von Alexandre Julliard. Es scheint schicker und konfigurierbarer, aber mit Postfix hatte ich keinen Mail-Befehl, der "-s" akzeptieren würde? Hier ist mein Weg:
http://pastie.textmate.org/695323
Es wäre schön, weitere Informationen wie den vollständigen Patch, den Gitweb-Link und das Commit-Diagramm anzuzeigen, aber dieses Skript kann nur das erste ausführen - wenn ich mit hooks.showrev herumspiele, scheint es.
Wie auch immer, Prost und danke für die Vorschläge!
Wenn Sie Windows verwenden, wäre scm-notifier hilfreich.
Nicht gerade eine vollständige Antwort, da es Github-spezifisch ist, aber wenn Sie Github verwenden, ist es extrem einfach, "Service Hooks" zu konfigurieren.
Geben Sie für jedes Repository, das Sie überwachen möchten, Einstellungen / Service Hooks ein.
Es gibt viele verfügbare Integrationen wie Trac, Twitter, Amazon SNS, Jira, Asana, Bugzilla, FogBugz, IRC, Jabber, Pivotal Tracker, Trello und E-Mail. Wählen Sie
einfach E-Mail aus und geben Sie eine Gruppen-E-Mail-Adresse ein.
Wir verwenden die E-Mail-Benachrichtigungen, um unsere Entwickler zu synchronisieren.
Wenn Sie GitLab verwenden, können Sie hierfür den Projektdienst "Email-on-Push" verwenden. Dieser finden Sie unter "Dienste" in den Projekteinstellungen.
Sie können Pre-Commit verwenden:
#!/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
Installieren:
cd project
cp pre-commit .git/hooks
chmod +x .git/hooks/pre-commit
gem install mail
Prüfung:
echo "# some change" >> Gemfile && git commit -m 'some change' Gemfile
In GitLab unter Ihrem Repository:
Dort öffnet sich eine neue Seite E-Mails auf Push
Es gibt auch eine Option zum Deaktivieren von Codedifferenzen, die möglicherweise vertrauliche Codedifferenzen im Benachrichtigungstext ausschließen. Es ist optional.
Für weitere Details: Klicken Sie hier