Skip to content

AGou-ops/gitlab-dingtalk-webhook

Repository files navigation

Gitlab 钉钉机器人通知

背景:钉钉上自带的Gitlab机器人太难用了,显示的信息少,且不会自动艾特指定人。

image image image

快速开始

预先准备:

钉钉机器人配置:

image

gitlab配置(记得勾上这些trigger,还有填好Secret token,token在main.go18行):

image

使用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.

使用Docker运行

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