小玩意儿之Gitlab 代码提交日志同步到禅道项目管理系统
以前都是使用禅道官方推荐的服务器本地扫描的方式,但其实不太方便,需要跟着项目的变化,不断的在配置文件维护项目相应仓库的配置。
然后现在Web Hooks越来越普遍的情况下,想尝试一种新的方式。看了禅道的Git模块Control中的代码后,发现了一个apiSync方法,于是有了思路:
覆盖其 git/apiSync 动作;并通过使用独立入口的方式回避其原有的鉴权机制,而通过 Gitlab 的 Hooks Secret Token来鉴权。
使用方法
- 将代码解压到禅道项目目录
- 生成一段随机字符串作为Secret Token,配置到 module/git/ext/config/gitlab_sync.php 文件中,$config->git->gitlabToken = ‘your token‘;
- 登录Gitlab进行相应配置,Admin area/System Hooks/,Url: https://yourdomain/webhook/gitlab.php,Secret Token:填入前面生成的Token;
- 在Gitlab System Hooks 页面下方,点击测试按钮进行测试,看看通信是否正常
- 提交代码,Commit Message 中注意加上 task#12、bug#45 格式的内容,然后推送代码,去检查禅道项目管理系统中相应任务或Bug是否生成一条“历史记录”
说明
在代码仓库中配置的email 参数最好跟禅道中账号关联的邮箱相同,这样在生成的历史记录中能正常识别用户的姓名。
参考
- https://docs.gitlab.com/ee/user/project/integrations/webhooks.html#push-events
- https://www.zentao.net/book/zentaopmshelp/207.html
代码
相关推荐
cxin 2020-11-06
synshitou 2020-10-21
Topbeyond 2020-08-21
happyfreeangel 2020-07-27
白开水 2020-07-19
无风的雨 2020-07-08
贤时间 2020-07-06
wishli 2020-06-28
小信 2020-06-21
leehbhs 2020-06-20
happyfreeangel 2020-06-18
83284950 2020-06-17
冯冯领队 2020-06-16
就是那个胖子 2020-06-14
83284950 2020-06-14
LiHansiyuan 2020-06-14
fcds00 2020-06-11
就是那个胖子 2020-06-11