小玩意兒之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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM