✨ [2024-12-26] 添加新特性: 添加企微webhook文档
Some checks failed
Publish to Confluence / confluence (push) Failing after 53s
Some checks failed
Publish to Confluence / confluence (push) Failing after 53s
This commit is contained in:
parent
75360bb112
commit
24158f7282
10
任务/今日任务.md
10
任务/今日任务.md
@ -29,12 +29,16 @@
|
||||
- [X] Keycloak 集成 LDAP
|
||||
- [X] jenkins 整合 Keycloak 实现 SSO
|
||||
|
||||
- [ ] 企业微信登录集成(产研平台)
|
||||
- [ ] SSO 技术方案编写
|
||||
- [X] 企业微信登录集成(产研平台)
|
||||
- [X] SSO 技术方案编写
|
||||
- [ ] Gitlab webhook merge 集成企业微信推送
|
||||
- [ ] Keycloak 集成企微登录可能性调研
|
||||
- [X] Keycloak 集成企微登录可能性调研
|
||||
- [使用企业微信登录Keycloak](https://www.kkzxak47.com/2019/07/30/%E4%BD%BF%E7%94%A8%E4%BC%81%E4%B8%9A%E5%BE%AE%E4%BF%A1%E7%99%BB%E5%BD%95keycloak/)
|
||||
- [Keycloak开发](https://wener.me/notes/service/auth/keycloak/dev)
|
||||
- [X] 企微作为首选登录项(管理后台配置)
|
||||
- [X] 企微主题自定义(Icon图标)
|
||||
- [ ] 企赋网关重构(模块划分)
|
||||
- [ ] 完善对接文档
|
||||
|
||||
## 20241216 - 20241220
|
||||
- [X] Track123 对接
|
||||
|
@ -131,4 +131,7 @@
|
||||
- [LDAP](https://zhuanlan.zhihu.com/p/608437013)
|
||||
- [IAM单点登录之CAS协议分析](https://zhuanlan.zhihu.com/p/627920220)
|
||||
- [Keycloak](https://www.keycloak.org/)
|
||||
- [Keycloak OIDC](https://www.keycloak.org/securing-apps/oidc-layers)
|
||||
- [Keycloak OIDC](https://www.keycloak.org/securing-apps/oidc-layers)
|
||||
- [Keycloak 默认 Provider 配置](https://www.keycloak.org/docs/latest/server_admin/index.html#default_identity_provider)
|
||||
- [Keycloak custom theme](https://springdoc.cn/spring-keycloak-custom-themes/)
|
||||
- [Keycloak custom theme](https://blog.csdn.net/q1ngqingsky/article/details/123417611)
|
@ -62,9 +62,16 @@
|
||||
## 六、工作量和排期
|
||||
|
||||
### 开发时间
|
||||
- 企赋网关对接 Keycloak
|
||||
- 产研协同平台提供接口
|
||||
- 产研协同平台前端界面开发
|
||||
- 企赋网关对接 Keycloak(Oauth2.0授权流程)
|
||||
- 产研协同平台(后端)提供接口(登录接口及绑定登录接口)
|
||||
- 接口文档???
|
||||
- 产研协同平台(前端)界面开发
|
||||
- 登录失效跳转到授权界面
|
||||
- 授权界面链接???
|
||||
- 授权完成后未绑定需要跳转到绑定界面(界面编写)
|
||||
- 绑定界面调用绑定登录接口
|
||||
- 绑定登录接口???
|
||||
- 前端跳转回原始界面
|
||||
|
||||
### 联调时间
|
||||
|
||||
|
102
方案/20241226-GitlabWebhook配置.md
Normal file
102
方案/20241226-GitlabWebhook配置.md
Normal file
@ -0,0 +1,102 @@
|
||||
<!-- Space: qifu -->
|
||||
<!-- Parent: 后端技术&知识&规范 -->
|
||||
<!-- Parent: 技术方案 -->
|
||||
<!-- Parent: 基建 -->
|
||||
<!-- Title: 20241226-GitlabWebhook配置 -->
|
||||
|
||||
<!-- Macro: :anchor\((.*)\):
|
||||
Template: ac:anchor
|
||||
Anchor: ${1} -->
|
||||
<!-- Macro: \!\[.*\]\((.+)\)\<\!\-\- width=(.*) \-\-\>
|
||||
Template: ac:image
|
||||
Url: ${1}
|
||||
Width: ${2} -->
|
||||
<!-- Macro: \<\!\-\- :toc: \-\-\>
|
||||
Template: ac:toc
|
||||
Printable: 'false'
|
||||
MinLevel: 2
|
||||
MaxLevel: 4 -->
|
||||
<!-- Include: 杂项/声明文件.md -->
|
||||
|
||||
<!-- :toc: -->
|
||||
|
||||
## 背景
|
||||
|
||||
实现 gitlab merge request 事件能够实时的通知到对应的群组,并 @相关人员 进行 code review 及代码合并
|
||||
|
||||
## 说明
|
||||
### Gitlab webhook 作用
|
||||
能够实现gitlab事件通知,比如说通过 webhook 触发 jenkins 自动构建,合并代码提醒等
|
||||

|
||||
### Webhook 企微配置
|
||||
|
||||
> 由于企业微信不兼容 Gitlab 的 webhook,所有需要做一个服务进行转发,
|
||||
> 服务链接:[cloud-webhook-gitlab](http://git.keyfil.com/qifu-gateway/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时需要填写 `Assignee` 字段指定对应的人
|
||||

|
||||
|
||||
#### MR消息中相关负责人没有被@提醒
|
||||

|
||||
|
||||
##### 造成上面错误的原因主要有两个:
|
||||
- **第一种:** Gitlab 上用户名不规范:可以通过修改用户名解决
|
||||
- 
|
||||
|
||||
- **第二种:** 由于公司企微 `账户/userid` 生成策略的变化,导致无法直接通过 gitlab 用户名推导出 `账户/userid`
|
||||
- 老员工企微 `账户/userid`:刘晓华(XianChaoHong)
|
||||
- 新员工企微 `账户/userid`:刘晓华(d0a12021606f43f19f3e8583adf16fce)
|
||||
|
||||
###### 按以下步骤解决问题:
|
||||
- 找 `HR` 获取用户的企微账号
|
||||
- 在 [cloud-webhook-gitlab](http://git.keyfil.com/qifu-gateway/cloud-webhook-gitlab) 项目配置文件中添加映射
|
||||
- 
|
||||
- [jenkins]() 重新发布服务
|
||||
- 
|
||||
- 测试MR提醒
|
||||
|
||||
### 消息格式
|
||||
#### MR
|
||||
```
|
||||
[@user](/link) 提交了一个 MR 从 [source](/source) 到 [target](/targer)
|
||||
> 请求信息:[MR title](mrurl)
|
||||
> 状态:status
|
||||
> 仓库:[repo](repo)
|
||||
|
||||
[@Assignee]()
|
||||
```
|
Loading…
x
Reference in New Issue
Block a user