Redmine与Gitlab功能集成

这个工作之前已完成了,但网上教程或多或少记录得不很正确,这里参考几篇文章结合自己实践做个记录。

Redmine v3.4.5,Gitlab v10.5.1。

Redmine与Gitlab功能整合,主要是实现在Redmine项目管理页中的版本库栏可以看到Gitlab中的版本提交信息,另外Git的提交信息中用特定格式写,可以关联Redmine的Issue项,仅此而已。

redmine设置启用版本库

1.启用SCM:本地只安装了git,所以其他的取消掉。

2.启用用于版本库管理的Web Service:需要勾选,实现gitlab的web_hook访问

3.版本库管理网页服务API密钥:点击生成或者手动输入,记录一下后面配置gitlab需要用到。

4.允许引用/修复所有其他项目的问题:勾选后就可以在commit message中使用上一项定义的关键字实现git提交和redmine issue的关联,如 refs:#123 表示将本次提交关联到redmine的123号任务。

5.激活时间日志:勾选后可以在commit message中设置当前提交耗时记录,方式为 Implement feature #1234 @2h 或者 Implement feature #1234 @15m

6.用于引用问题的关键字:须填”refs,references,IssueID,*”,这里还添加了星号“*”(图中没有),原因在这里有写,反正加上就是了。

7.最下面一个设置框中就是自定义关键字,实现commit message控制remine中的issue的状态,比如我这里预设了解决、进行中和关闭三个,在commit message中的用法为: ok:#123 或 start #123 或 close:#123 @2 ,这最后一个实例还把时间也带上了。

Gitlab设置WebHooks网址

Settings → System Hooks  → 「Add System Hook」

然后填入你自己的网址:http://[你的网址]/sys/fetch_changesets?key=[刚才生成的APIkey]

可以去测试了,在往Git提交代码的时候填入“finish #1”,这时候你就会发现Issue #1已经变成了100%进度了,当然前提是你真的有#1这个Issue。