git pull 每次拉代码自动发送到钉钉群

钉钉群的关于机器人的官网开发文档,我们可以知道,核心的代码就是 curl 一句。

curl 'https://oapi.dingtalk.com/robot/send?access_token=xxxxxxxx' \
   -H 'Content-Type: application/json' \
   -d '{"msgtype": "text", 
        "text": {
             "content": "我就是我, 是不一样的烟火"
        }
      }'

获取 token 所在的URL 的办法,就是在群设置里面有个只能群助手,添加一个自定义机器人即可,这里面的核心是关键字的设置,要求发送的文本内容里必须包含关键字才能触发机器人。我们把关键字定义为 gitpull,所以只要发送的消息里有gitpull 关键字,机器人就会自动发送,钉钉会把消息发送到群里。

我们把原生的 git 修改为 /usr/bin/git.orig 重新写一个新的 /usr/bin/git 的脚本如下:

#!/bin/bash
TOKEN="xxx"
URL="https://oapi.dingtalk.com/robot/send?access_token=$TOKEN"
TEXT="[gitpull] User: "$(id -un)" pulling code in dir: "$(pwd)
/usr/bin/git.orig $*
if [ $? == 0 -a "$1" == "pull" ]
then
        # echo "Pulling Code"
        curl $URL -H 'Content-Type: application/json' \
                -d '{"msgtype": "text","text": {"content": "'"$TEXT"'" }}'
        echo
fi

这样每次拉取代码,我们就能在钉钉群里得到消息,知道是谁在拉什么代码

作者: 甬洁网络

--移动互联网&物联网技术提供商