Skip to content

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

Notifications You must be signed in to change notification settings

goodideal/gitlab-bot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

4b8cc30 · Sep 8, 2023

History

25 Commits
Sep 8, 2023
Sep 7, 2023
Sep 7, 2023
Sep 6, 2023
Sep 4, 2023
Sep 6, 2023
Dec 29, 2019
Dec 29, 2019
Dec 29, 2019
Sep 4, 2023
Sep 4, 2023
Sep 6, 2023
Dec 29, 2019
Sep 7, 2023
Sep 7, 2023
Dec 29, 2019
Dec 29, 2019
Dec 29, 2019
Sep 6, 2023
Sep 7, 2023

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集成图片