小玩意儿之Gitlab 代码提交日志同步到禅道项目管理系统

Posted x3d

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了小玩意儿之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

以上是关于小玩意儿之Gitlab 代码提交日志同步到禅道项目管理系统的主要内容,如果未能解决你的问题,请参考以下文章

原创项目经理岗位作业书

gitlab项目数据同步

禅道服务数据的迁移

svn 代码同步到git

本地 gitlab 项目迁移到阿里云(含历史提交记录一起迁移)

禅道项目管理软件测试模块提bug保存时很慢