Gerrit和JIRA系统对接

敏捷软件开发中,很多公司会用到JIRA进行任务管理,而代码则用Gerrit进行管理存放。项目管理有时会希望与某个JIRA任务关联的代码提交或合并能自动在JIRA的comment里反映出来。本文将介绍为实现上述目标,具体配置步骤。

首先,需要在Gerrit上安装插件:its-jira,详细步骤请参考:Plugin "its-jira" forGerrit - 知乎 (zhihu.com)

涉及到的配置文件主要包括:gerrit配置文件,规则配置文件。如果需要定制comment内容还需要一个模板配置文件。

  • gerrit配置文件

        etc/gerrit.config:

        ……

        [commentlink "its-jira"]

        match = .*(PROJECT-[A-Z]+-[0-9]+)

        link = https://jira_url/browse/$1

        [its-jira]

        url=https://jira_url

        username=jira_user_name

        password=jira_user_password

注意:该配置文件将实现Gerrit和JIRA的连接,并在Gerrit上检测commit message, 当commit message里面符合match定义的规则,就会将符合该规则的字符串增加超链接,连接到link定义的jira位置。如上列中,当Gerrit上的commit message里面有PROJECT-A-123,则 PROJECT-A-123会有超链接标记,点击就会跳转到JIRA里对应的issue。实际中大家需要使用项目上实际的match规则和url等。

  • 规则配置文件

        etc/its/actions.config:

        [rule "open"]

        event-type = patchset-created

        action = add-standard-comment

        [rule "merge"]

        event-type = change-merged

        action =add-soy-comment merge

event-type和Gerrit的事件类型是一致的,包含change-abandoned, change-restored, comment-added, draft-published, private-state-changed, ref-updated, rerun-checks, topic-changed等。

action可以使用标准模板(add-standard-comment),也可以自定义模板,如merge模板(add-soy-comment merge)

标准模板显示效果如下:

 JIRA用户 added a comment - 年-月-日 时:分

Change XXX had a related patch set uploaded by 代码提交人:
commit message的内容

gerrit的提交URL

  • 自定义模板配置文件

etc/its/templates/ merge.soy:

{namespace etc.its.templates}

{template .merge kind="text"}

{@param changeNumber: string}

{@param commitMessage: string}

{@param branch: string}

{@param formatChangeUrl: string}

{@param submitterName: string}

Change {$changeNumber} merged into {$branch} by {$submitterName}\\

{$commitMessage}\\

CommitURL: {$formatChangeUrl}

{/template}

上述示例的模板显示效果如下: 

Change XXX merged into 分支名 by 提交人

commit message的内容

gerrit的提交URL

注意:gerrit要重启生效。

gerrit上插件安装后,在gerrit_url/plugins/its-jira/Documentation/index.html里面可以看到相关参考文档。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值