最好用的Gitlab通知机器人

767 阅读2分钟

gitlab主要支持国外的通知工具,国内的IM通知一直不太好用,推荐一款gitlab通知机器人,目前与企微集成较好,即将支持其他的IM平台。

项目地址:goodideal/gitlab-bot: 将Gitlab的push、tag push、merge request和pipeline推送到企业微信的机器人 (github.com)


Gitlabpushtag pushmerge requestpipeline推送到第三方IM平台的机器人,如企业微信、飞书等;

1.0.0: 采用内置代码,且仅支持企业微信;

2.0.0: 通过消息模板,可自行配置通知消息格式和字段,具体配置方式,参见mustache官方文档

todo:

  •  使用mustache模板
  •  增加note通知
  •  增加消息模板配置文件
  •  支持飞书机器人
  •  支持按天统计数据

功能展示

具体见下图:

Gitlab push 代码推送

image.png

Gitlab push 新建、删除分支

image.png

Gitlab merge request 合并请求

image.png

Gitlab pipeline 流水线

image.png

与企业微信对接

如何添加群机器人可自行百度。企业微信群机器人配置说明

应用部署运行

应用通过环境变量添加机器人webhook地址,WEBHOOK_URL_作为前缀,后面可接不同的推送组。

如环境变量WEBHOOK_URL_PROJPROJ则为推送组。推送组用于与Gitlab的集成时使用。

例如:

则环境变量设为:

WEBHOOK_URL_PROJ=https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=ABCDEFG

一个应用可以添加多个推送组。

使用Docker部署

修改docker-compose.yml文件中的WEBHOOK_URL环境变量,添加企业微信机器人webhook地址。

docker-compose up -d

通过:7001端口访问服务。

直接运行

首先系统安装了node运行环境。

WEBHOOK_URL_PROJ=https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=ABCDEFG npm start

通过:7001端口访问服务。

与Gitlab集成

进到项目,settings => integrations

URL填写服务的地址和端口号+推送组。

例如,服务器地址为:https://192.168.100.100:7001,推送组为PROJ。

URL填写:https://192.168.100.100:7001/proj

具体设置,参见下图:

image.png