Skip to content

将Gitlab的push、tag push、merge request和pipeline推送到企业微信的机器人

Notifications You must be signed in to change notification settings

goodideal/gitlab-bot

Repository files navigation

Gitlab通知机器人

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

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

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

todo:

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

功能展示

具体见下图:

Gitlab push 代码推送

alt gitlab-push-msg-1

Gitlab push 新建分支

alt gitlab-push-msg-2

Gitlab push 删除分支

alt gitlab-push-msg-3

Gitlab push tag 推标签

alt gitlab-push-tag-msg-1

Gitlab merge request 合并请求

alt gitlab-mr-msg-1

Gitlab pipeline 流水线

alt gitlab-pipeline-msg

系统对接

环境变量

  • PLATFORMqywx | feishu,默认为qywx,即:企业微信、飞书;
  • WEBHOOK_URL_XXX:机器人webhook地址,具体配置参考应用部署运行
  • SHOW_ORIGINALtrue | false,默认为false,如果无模板,是否发送原消息体;

与企业微信对接

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

与飞书对接

飞书群里添加机器人。飞书群机器人配置说明

alt gitlab-feishu

飞书webhook地址示例:https://open.feishu.cn/open-apis/bot/v2/hook/UUID

应用部署运行

应用通过环境变量添加机器人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

具体设置,参见下图:

alt gitlab集成图片

About

将Gitlab的push、tag push、merge request和pipeline推送到企业微信的机器人

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published