This website requires JavaScript.

利用webhook将企业微信变成消息中枢—gitlab+企业微信+TAPD搭建中型团队开发环境之二

分类:编程人生 发布于:2021-01-18 07:27:10 字数 2716 735次阅读 git开发工具&环境

有这么一个痛点需求:团队协作时,当一个同学将代码提交后,需要开启代码review或者需要团队其他的同学看到代码提交后,去同步一下代码。

这个时候,你会怎么做?

是直接在座位上吼两嗓子,同志们,我的代码提交了,你们去更新一下吧!

又或者,领导,我的代码提交了,你可以开始review了。

还或者,在微信群或钉钉群里,发送一个提交报告?

一般你们会怎么做呢?请在文章下面留言。

好了,闲话不多说,看看我们团队是怎么做的吧。

1、 gitlab接到项目成员相关操作事件。

2、 gitlab将事件推送至webhook企业微信开源项目。

3、 企业微信项目推送至企业微信群对应的机器人。

4、 一个项目对应一个群机器人、一个webhook唯一地址。

项目地址: https://github.com/domainname/wechat-wor...

使用git下载此项目至相关的服务器,在已下载的项目目录下执行:

./gradlew build
./gradlew bootRun

完成项目启动,我们现在假设这个项目和gitlab是在一台机器上,端口为7777,并且能连通互联网。

1、 选择群,添加机器人

添加群机器人

2、 复制机器人id

复制机器人id

3、 从url中找到机器人id
https://qyapi.weixin.qq.com/cgi-bin/webh...

1、 找到对应的项目

2、 勾选要提醒的内容,并加入以下地址

http://127.0.0.1:7777/gitlab/webhook/58e...

tips:最后一个参数就是上一个步骤我们记下来的id,前面就是开源webhook项目启动的服务器地址。

3、加完后,可以立即在页面最下面,开始测试向企业微信群内推送消息。

那么我们的wechat-work-bot已经调试完毕,这个时候我们需要编写一个shell脚本,完成下一次自动重启,脚本如下:

webhookpid=`ps -ef | grep java | grep wechat-work-bot | grep -v grep | awk '{print $2}'`
echo "webhook项目进程ID为:$webhookpid"
echo "kill webhook PID..."
kill -9 $webhookpid
echo "$webhookpid已杀死..."


cd ~/wechat-work-bot
nohup ./gradlew bootRun > /root/webhook-log.log 2>&1 &

至此,我们的企业微信群里,就可以收到来自gitlab的消息了,咱也不用浪费嗓子了。也不自己去复制一堆提交记录了。

有的同学可能还会问,gitlab不是自带邮件通知吗?为什么还要用企业微信?

gitlab是自带邮件服务,但是推送的人员有限,如果需要非开发组的成员(比如:测试、运维、产品等)也要知道的话,用企业微信群就比较合适,而且不打扰大家的下班时间。

最后,其实用钉钉也可以完成消息中枢的功能。因为我们团队使用的是企业微信,所以就正正好好。不然你们也不会看到这篇文章。

有需要的朋友请自行百度~~~


--- END ---

欢迎关注俺的公众号,一个有思维、有技术,并且正在健身的中年大叔。

↓↓↓ 长按关注 ↓↓↓