Hook Git pour envoyer une notification par e-mail sur les modifications du dépôt
101
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?
Pour la mise à jour de la version (nouvelle étiquette) pour tout dépôt git, vous pouvez utiliser git-notifier.com pour envoyer des notifications par e-mail (gratuit) ou des notifications par SMS (payant)
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)
Si je référence ce script dans mes hooks, le script référencé doit-il résider sur l'hôte en amont ou localement?
Tête
4
L'hôte qui exécute le hook, donc dans le cas d'une post-réception, l'hôte en amont (alors qu'un hook post-commit aurait besoin du script sur l'hôte sur lequel vous exécutez le commit).
mwalling le
2
Ahhh, mais vous pouvez accepter la réponse et vous aurez tous les deux plus de réputation!
Pat Notz
La partie qui m'a permis de définir la liste des destinataires. J'ai finalement compris que vous deviez utiliser git config: git config hooks.mailinglist "[email protected], [email protected]"
ewalk
4
Il convient de noter que le lien dans cette réponse n'est plus en développement actif. Au lieu de cela, utilisez multimail , qui est mentionné dans le fichier readme.
Accords du
19
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
Connectez-vous d'abord à votre compte Google
Allez dans Google Groupes et en haut, cliquez sur Créer un groupe
Tapez le nom du groupe, l'adresse e-mail du groupe (copiera / collera dans GitHub Service Hook-> Adresse e-mail), la description du groupe
Après avoir cliqué sur le bouton Créer en haut, votre nouveau groupe devrait être créé maintenant
Ensuite, dans le menu de gauche, cliquez sur Inviter des membres et saisissez les adresses e-mail de vos coéquipiers
Après cela, cliquez sur Envoyer des invitations (lorsque vos membres acceptent l'invitation), ils sont désormais officiellement membres de ce groupe
Dans le menu de gauche, cliquez sur Tous les membres et cochez la 4e colonne intitulée Livraison , chaque membre de l'équipe devrait avoir l'option
Tous les e-mails .
Ceci est une solution github. Rien dans la question ne m'indique que l'utilisateur utilise github. On dirait que c'est une réponse parfaite à une question sur github.
daramarak
3
Ce service de messagerie va cesser après octobre 2018. Cette réponse n'est donc plus valide après ce point. developer.github.com/changes/…
Jeegar Patel
10
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.
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é.
Ah, il s'avère que la version de git.kernel.org respectait hooks.showrev, mais pas le script d'installation de git par défaut! Juste remplacé le script, chmod a + x et puis ça marche! Encore faut-il comprendre la syntaxe de showrev
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:
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!
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.
#!/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
Lorsque le paramètre se développe, vous verrez des intégrations . Clique dessus.
Il ouvre une nouvelle page Emails sur push
Recherchez et sélectionnez Envoyer depuis le commetteur .
Entrez également les destinataires séparés par des virgules situés dans le dernier champ.
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.
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)
la source
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
la source
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é.
la source
Robin Sommer de » git-notificateur génère également très agréable résumés dans le format suivant:
la source
réglage hooks.showrev ne fait aucune différence notable? : - /
Exemple de conf:
la source
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!
la source
Si vous utilisez Windows, scm-notifier serait utile.
la source
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.
la source
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.
la source
Vous pouvez utiliser le pré-commit:
Installer:
Tester:
la source
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
la source