小玩意儿之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://gitee.com/web3d/GitlabCommentSyncForZentaoPMS

posted @   x3d  阅读(4112)  评论(2编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
点击右上角即可分享
微信分享提示