All checks were successful
Publish to Confluence / confluence (push) Successful in 42s
4.4 KiB
4.4 KiB
背景
- Webhook服务已经部署,需要通知的服务请配置:http://172.17.229.32:18081/webhook/f93a7084-65b9-4d84-bf28-ae6cdaead1b2
- 更换机器人修改后面的uuid就行
实现 gitlab merge request 事件能够实时的通知到对应的群组,并 @相关人员 进行 code review 及代码合并
说明
Gitlab webhook 作用
能够实现gitlab事件通知,比如说通过 webhook 触发 jenkins 自动构建,合并代码提醒等
Webhook 企微配置
由于企业微信不兼容 Gitlab 的 webhook,所有需要做一个服务进行转发, 服务链接:cloud-webhook-gitlab
Webhook 链接生成
企微群组添加机器人
获取 Webhook 地址.
记录 key
参数.
- 例如 :
f93a7084-65b9-4d84-bf28-ae6cdaead1b2
生成webhook链接
- https://webhook.test.com/webhook/{key}?channel=wxwork
- {key}:表示 webhook 生成的 key
- {channel}(可选):表示需要发送的渠道。现在支持 wxwork。默认 wxwork
- 例如 : https://webhook.test.com/webhook/f93a7084-65b9-4d84-bf28-ae6cdaead1b2
Gitlab 仓库配置 Webhook
进入Webhook配置界面settings / webhooks
- URL:填写生成的 webhook 链接。比如: https://webhook.test.com/webhook/f93a7084-65b9-4d84-bf28-ae6cdaead1b2
- Trigger:勾选需要推送的事件。
- 当前支持的事件如下:
- Push events
- Tag push events
- Merge request events
- Pipeline events
- 勾选 Enable SSL verification
- 点击添加
测试 Webhook
MR通知使用
发起MR
附加说明
企微用户无法被 @提及
MR 提交配置没有指定对应的负责人
MR消息中相关负责人没有被@提醒
造成上面错误的原因主要有两个:
-
第一种: Gitlab 上用户名不规范:可以通过修改用户名解决
-
第二种: 由于公司企微
账户/userid
生成策略的变化,导致无法直接通过 gitlab 用户名推导出账户/userid
-
老员工企微
账户/userid
:刘晓华(XianChaoHong) -
新员工企微
账户/userid
:刘晓华(d0a12021606f43f19f3e8583adf16fce)
按以下步骤解决问题:
- 找
HR
获取用户的企微账号 - 在 cloud-webhook-gitlab 项目配置文件中添加映射
- 重新发布服务
- 测试MR提醒
消息格式
MR
[@user](/link) 提交了一个 MR 从 [source](/source) 到 [target](/targer)
> 请求信息:[MR title](mrurl)
> 状态:status
> 仓库:[repo](repo)
[@Assignee]()