Gitlab集成jira

实现功能

  • gitlab提交和合并分支,会自动将comment信息提交到JIRA上的相关问题的页面
  • gitlab可以修改jira上问题的状态

集成说明 

  • gitlab集成Jira 按项目集成,因此gitlab上的每个项目对应jira上的对应项目
  • 由项目管理员(一般为接口人)自行集成

集成步骤

配置JIRA,开通账户

  • 因gitlab按项目集成,jira上不单独开通统一集成账号,由项目管理员配置自己的jira账户密码即可

配置jenkins

  • 加入字符参数,配置projectId。

这个projectID是获取制品库ID的必填项,如果不填,构建apk时将自动退出构建。

  • 更新构建脚本

脚本路径改成:publish_gradle_without_predelivery.jenkinsfile(gradle构建应用) or publish_ant_without_predelivery.jenkinsfile(ant构建应用) 

Gitlab集成jira_第1张图片

 配置gitlab

  • gitlab设置中打开jira插件(需要gitlab maintainer角色的权限)

http://gitlab10.tclking.com/delivery2/applications/android 具体项目——设置——集成——JIRA

  • gitlab配置Gitlab集成jira_第2张图片

  • JIRA配置字段说明

Field

Description

Web URL

jira的web地址,正式环境配置:   https://jira.tclking.com

Jira API URL

留空即可

Username/Email

jira用户名,配置为项目管理员或有项目权限的用户即可

Password/API token

jira用户密码,配置为项目管理员或有项目权限的用户即可

Transition ID

  • JIRA上的流程ID,可以通过API接口获取,获取方式见下文
  • 如果只需要提交comment信息,此字段可以不配置
  • 如果想通过gitlab commits 或 Merge Requests 修改jira问题状态,此字段必须填
  • 多个ID 使用“,”号分隔
  • transition ID获取方式

通过API获取 ,API地址为:https://jira.tclking.com/rest/api/2/issue/SWCTMYF-1/transitions

  • SWCTMYF-1 中 SWCTMYF为项目ID(创建项目时填写的项目唯一ID),SWCTMYF-1 为SWCTMYF项目的第一个ISSUE,可以在JIRA上项目问题列表中获取
  • 这里的SWCTMYF-1 字段根据自己项目的实际情况获取。

  • 默认流程中获取的 transition ID 为 11,21,31 。 11(待办),21(处理中),31(完成)
  • 配置完成激活JIRA插件即可,gitlab集成JIRA完成

gitlab提交comment到Jira

在git提交或者合并分支的时候,comment字段只要带上 ISSUE-ID即可自动提交comment信息到jira上的 ISSUE-ID对应的问题注释中去

注意:

  • 经测试,git 的commit 注释信息中 ISSUE-ID 可以放在第一行 的任何位置 ,一般建议放在行首
  • git 提交的注释信息如果有多行,则只会同步第一行到JIRA的问题注释中

git提交方式

gitlab web上(或者使用命令行),我们修改README.md文件,并提交,comment字段填写 "SWCTMYF-4 关键字测试 Update README.md"

PS:这个是gitlab10正式发布的路径,明文gitlab,可直接点击跳转。

Gitlab集成jira_第3张图片

gitlab修改JIRA问题状态

不建议!经测试不是很好用!

gitlab提供了3个关键字触发器来修改 JIRA的问题状态

  • Resolves PROJECT-1
  • Closes PROJECT-1
  • Fixes PROJECT-1

PROJECT-1 为前文说说的ISSUE-ID,只有在commit 或者 合并主分支时才会触发这三个触发器。comment内容不会显示在jira的问题注释中。

官方参考链接

Jira | GitLab

也可以在 gitlab集成JIRA的页面进入本地帮助文档。

错误处理

如果集成过程有报 类似“Requests to the local network are not allowed” 的错误,需要系统管理员勾选gitlab的允许本地连接

路径:

  • 管理员打开 webhook和服务对本地网络的请求   设置——网络——外发请求 (如果项目集成不报错,本步骤可以忽略,一般本地集成才需要打开) 

Gitlab集成jira_第4张图片

你可能感兴趣的:(CICD持续集成,jenkins,android,运维,git,jira)