利用GAE来发送git push的通知

如果想要在git push后自动通知团队中的其他成员,可以利用git的hook脚本,git源代码里 contrib/hooks/post-receive-email 就可以直接用来发送邮件通知。

如果觉得邮件还不够即时,可以试试利用gae发送通知到gtalk上,google提供了很方便的api,可以通过部署在gae上的程序发送xmpp协议的即时消息。

我无聊写了个这样的小程序,放在github上了,用的是Python版的GAE SDK。

使用方法:

下载后,先把gae目录中的程序部署到gae上,然后可以访问 domain/sendim/invite 向所需通知的用户发一个邀请,然后可以访问 domain/sendim/demo 测试下消息是否能够正常发送。

接着将scripts目录中的post-receive-im链接到git服务器里指定仓库的hooks目录中,名为post-receive,post-receive-im这个是我直接在post-receive-email里改的 - -

最后修改git服务器仓库目录里的config文件加入下面的内容

[hooks]
    # 要通知到的用户的gmail,如果有多个用空格分开
    jids = <a href="mailto:xxx1@gmail.com">xxx1@gmail.com</a> <a href="mailto:xxx2@gmail.com">xxx2@gmail.com</a>
 
    # 就是刚才部署的那个gae的地址
    imurl = <a href="http://xxxx.appspot.com/sendim<br />
">http://xxxx.appspot.com/sendim
[/geshifilter-pre]

这样弄完,push后应该就会收到消息了, svn hg等应该都可以用类似的方法实现一个通知,利用gae真的是可以玩出很多花样阿,哈哈。

目前只弄了一点点,如果谁有兴趣,欢迎加入一起改进阿 :)。

评论