Comment configurer le hook Git approprié pour envoyer un e-mail récapitulatif chaque fois qu'un ensemble de modifications est envoyé vers le référentiel en amont?
Comment configurer le hook Git approprié pour envoyer un e-mail récapitulatif chaque fois qu'un ensemble de modifications est envoyé vers le référentiel en amont?
Réponses:
Une autre façon plus moderne de le faire est d' utiliser git-multimail , comme suggéré par Chords ci-dessous.
C'est ainsi que vous l'avez fait en 2009.
Vous pouvez ajouter quelque chose comme ça à votre hook post-receive dans $ GITDIR / hooks, ou utiliser le script dans le répertoire contrib de la source (disponible ici)
Voici la solution la plus simple que j'ai trouvée:
1) Connectez-vous à votre compte gitHub sur github.com
2) Dans l'onglet principal, cliquez sur Paramètres
3) Dans la navigation principale, choisissez Service Hooks
4) Parmi les crochets disponibles, choisissez Email
5) Remplissez votre adresse e-mail dans le champ Adresse
6) Cochez la case Envoyer de l'auteur
7) Cochez la case Actif
8) Cliquez sur Paramètres de mise à jour
Facultatif: vous pouvez cliquer sur Test Hook pour tester, vérifiez votre boîte de réception, vous devriez recevoir un e-mail.
Il y a aussi des images faites selon le processus:
Et maintenant pour la grande finale j'ai la réponse qui est testée et approuvée à mes côtés.
Comment envoyer un e-mail à TOUS les membres de l'équipe de développement, lorsque Service Hooks-> Email de gitHub ne permet qu'au maximum 2 destinataires} .
La réponse est une combinaison de Service Hook-> Email @ GitHub && Google groups
C'est ma façon d'envoyer une notification par e-mail aux utilisateurs chaque fois que quelqu'un pousse vers le référentiel.
Configurer la notification par e-mail Git Commit
Il est basé sur les scripts d'Andy Parkins. Je le change en SMTP utilisé pour envoyer des e-mails. Bien entendu, le SMTP de gmail peut également être utilisé.
Robin Sommer de » git-notificateur génère également très agréable résumés dans le format suivant:
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)
réglage hooks.showrev ne fait aucune différence notable? : - /
Exemple de conf:
# 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] "
J'ai réussi à le faire, mais j'ai dû opter pour le script contrib, pas l'autre script (perl) d'Alexandre Julliard. Cela semble plus sophistiqué et plus configurable, mais avec postfix je n'avais pas de commande mail qui accepterait "-s"? Voici ma façon:
http://pastie.textmate.org/695323
Ce serait bien d'afficher plus d'informations, comme le patch complet, le lien gitweb et le graphe de validation, mais ce script ne peut faire que le premier - si je joue avec hooks.showrev, semble-t-il.
Quoi qu'il en soit, bravo et merci pour les suggestions!
Si vous utilisez Windows, scm-notifier serait utile.
Ce n'est pas exactement une réponse complète car elle est spécifique à Github, mais si vous utilisez Github, il est extrêmement facile de configurer des "Service Hooks".
Pour chaque référentiel que vous souhaitez surveiller, entrez Paramètres / Service Hooks.
Il existe de nombreuses intégrations disponibles, telles que Trac, Twitter, Amazon SNS, Jira, Asana, Bugzilla, FogBugz, IRC, Jabber, Pivotal Tracker, Trello et Email ....
Sélectionnez simplement l'email et alimentez-le avec une adresse e-mail de groupe.
Nous utilisons les notifications par e-mail pour synchroniser nos développeurs.
Si vous utilisez GitLab, vous pouvez utiliser le service de projet 'Email-on-push' pour cela, il se trouve sous services dans les paramètres du projet.
Vous pouvez utiliser le pré-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
Installer:
cd project
cp pre-commit .git/hooks
chmod +x .git/hooks/pre-commit
gem install mail
Tester:
echo "# some change" >> Gemfile && git commit -m 'some change' Gemfile
Dans GitLab sous votre référentiel:
Il ouvre une nouvelle page Emails sur push
Il existe également une option pour désactiver les différences de code qui excluent les différences de code éventuellement sensibles dans le corps de la notification. C'est facultatif.
Pour plus de détails: cliquez ici