¿Cómo configuro el gancho de Git apropiado para enviar un correo electrónico de resumen cada vez que se envía un conjunto de cambios al repositorio ascendente?
¿Cómo configuro el gancho de Git apropiado para enviar un correo electrónico de resumen cada vez que se envía un conjunto de cambios al repositorio ascendente?
Respuestas:
Otra forma más moderna de hacer esto es con git-multimail , como lo sugiere Chords a continuación.
Así lo hizo en 2009.
Puede agregar algo como esto a su gancho posterior a la recepción en $ GITDIR / hooks, o usar el script en el directorio contrib de la fuente (disponible aquí)
Aquí está la solución más simple que he encontrado:
1) Inicie sesión en su cuenta de gitHub en github.com
2) En la pestaña principal, haga clic en Configuración
3) Desde la navegación principal, elija Service Hooks
4) En Ganchos disponibles, elija Correo electrónico
5) Complete su dirección de correo electrónico en el campo Dirección
6) Marque la casilla de verificación Enviar del autor
7) Marque la casilla de verificación Activo
8) Haga clic en Actualizar configuración
Opcional: puede hacer clic en Test Hook para probar, verifique su bandeja de entrada y debería recibir un correo electrónico.
También hay imágenes realizadas según el proceso:
Y ahora para la gran final tengo la respuesta probada y aprobada a mi lado.
Cómo enviar correos electrónicos a TODOS los miembros del equipo de desarrollo, cuando los enlaces de servicio de gitHub-> Correo electrónico solo permiten como máximo 2 destinatarios} .
La respuesta es una combinación de Service Hook-> Email @ GitHub && grupos de Google
Esta es mi forma de enviar notificaciones por correo electrónico a los usuarios cada vez que alguien ingresa al repositorio.
Configuración de la notificación por correo electrónico de confirmación de Git
Está basado en los guiones de Andy Parkins. Lo cambio a SMTP usado para enviar correo electrónico. Por supuesto, también se puede utilizar el SMTP de gmail.
El notificador git de Robin Sommer también genera muy buenos resúmenes en el siguiente formato:
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)
¿La configuración de hooks.showrev no hace una diferencia distinguible? : - /
Conf de muestra:
# 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] "
Logré hacer esto, pero tuve que optar por usar el script contrib, no el otro script (perl) de Alexandre Julliard. Parece más elegante y más configurable, pero con postfix no tenía ningún comando de correo que aceptara "-s". Este es mi camino:
http://pastie.textmate.org/695323
Sería bueno mostrar más información, como el parche completo, el enlace de gitweb y el gráfico de confirmación también, pero este script solo puede hacer lo primero, si juego con hooks.showrev, parece.
De todos modos, ¡salud y gracias por las sugerencias!
Si usa Windows, scm-notifier sería útil.
No es exactamente una respuesta completa, ya que es específico de Github, pero si usa Github, es extremadamente fácil configurar "Service Hooks".
Para cada repositorio que desee monitorear, ingrese Configuración / Ganchos de servicio.
Hay muchas integraciones disponibles, como Trac, Twitter, Amazon SNS, Jira, Asana, Bugzilla, FogBugz, IRC, Jabber, Pivotal Tracker, Trello y Email ...
Simplemente seleccione el correo electrónico y aliméntelo con una dirección de correo electrónico grupal.
Usamos las notificaciones por correo electrónico para sincronizar a nuestros desarrolladores.
Si usa GitLab, puede usar el servicio de proyecto 'Email-on-push' para esto, se puede encontrar en servicios en la configuración del proyecto.
Puede usar el compromiso previo:
#!/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
Instalar en pc:
cd project
cp pre-commit .git/hooks
chmod +x .git/hooks/pre-commit
gem install mail
Prueba:
echo "# some change" >> Gemfile && git commit -m 'some change' Gemfile
En GitLab en tu repositorio:
Se abre una nueva página Correos electrónicos en push
También hay una opción para Desactivar diferencias de código que excluye las diferencias de código posiblemente sensibles en el cuerpo de la notificación. Es opcional.
Para más detalles: haga clic aquí