我该如何配置适当的Git钩子,在将一组更改推送到上游仓库时发送摘要电子邮件?
另一种更现代的方法是使用git-multimail,正如下面Chords所建议的那样。
这是2009年时的做法。
您可以在$GITDIR/hooks中添加类似此代码到您的post-receive hook中,或者使用源代码contrib目录中的脚本(在此处可用)
现在到了大结局,我有一个经过测试和批准的答案。
如何向所有开发团队成员发送电子邮件,当gitHub的服务钩子->电子邮件只允许最多2个收件人} 。
答案是GitHub的服务钩子->电子邮件@&& Google群组的组合。
这是我发送邮件通知给用户的方式,每次有人向存储库推送代码时就会触发通知。
这基于Andy Parkins的脚本,但我修改了它,使用SMTP协议来发送邮件。当然,也可以使用gmail的SMTP服务。
Robin Sommer的git-notifier还以以下格式生成非常好的摘要:
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)
设置 hooks.showrev 没有明显的区别?:-/
示例配置:
# 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] "
我成功地完成了这个任务,但不得不选择使用contrib脚本,而不是Alexandre Julliard的另一个(perl)脚本。后者看起来更高级和可配置,但在postfix中我没有能够接受“-s”参数的邮件命令。以下是我的解决方法:
http://pastie.textmate.org/695323
展示更多信息会很好,比如完整的补丁、gitweb链接和提交图表,但是这个脚本只能做到第一个——如果我玩弄hooks.showrev似乎可以实现。
无论如何,感谢您的建议!
这并不是一个完整的答案,因为它是针对Github特定的。但如果你恰好使用Github,那么配置“服务钩子”非常容易。
对于每个您想要监视的存储库,请输入设置/服务钩子。
有许多可用的集成,例如Trac、Twitter、Amazon SNS、Jira、Asana、Bugzilla、FogBugz、IRC、Jabber、Pivotal Tracker、Trello和电子邮件...
只需选择电子邮件并提供一个组电子邮件地址即可。
我们使用电子邮件通知来同步我们的开发人员。
在您的存储库下,在GitLab:
这里打开一个新页面推送邮件
还有一个选项禁用代码差异,可以在通知正文中排除可能敏感的代码差异。 这是可选的。
有关更多详细信息: 单击此处