背景:钉钉上自带的Gitlab机器人太难用了,显示的信息少,且不会自动艾特指定人。
预先准备:
钉钉机器人配置:
gitlab配置(记得勾上这些trigger
,还有填好Secret token
,token在main.go
18行):
使用Docker镜像快速开始:
docker run -ti --rm -p 8787:8787 -e WB_PATH=/webhooks \
-e TOKEN=eb1axxxxxxx \
-e SECRET=SECxxxxxxxxxxx \
suofeiya/gitlab-dingtalk-webhook:latest
本地快速运行:
git clone https://github.com/AGou-ops/gitlab-dingtalk-webhook.git
cd gitlab-dingtalk-webhook
go mod tidy
# 在.env文件中将配置修改为你自己机器人的token和secret
cp .env.sample .env
go run .
切换监听端口:
go run . -p 9898
服务默认监听地址为: https://<YOUR_SERVER_IPADDR>:8787/webhooks
仅允许对URI为/webhooks
的地址进行POST
.
DockerHub: https://hub.docker.com/r/suofeiya/gitlab-dingtalk-webhook
或者自己构建镜像:
docker build -t gitlab-dingtalk:v1.0 .
# 使用配置文件
docker run -d --restart always \
--name gitlab_dingtalk_webhook \
-v `pwd`/.env:/.env \
-p 8787:8787 \ gitlab-dingtalk:v1.0
# 使用环境变量
docker run -d --restart always \
--name gitlab_dingtalk_webhook \
-e WB_PATH=/webhooks -e TOKEN=xxxx -e SECRET=SECxxxxx \
-p 8787:8787 \
gitlab-dingtalk:v1.0