当前位置: 代码迷 >> 综合 >> Jenkins 集成 Jira GitLab
  详细解决方案

Jenkins 集成 Jira GitLab

热度:77   发布时间:2023-12-07 00:41:51.0

前言:Jenkins 集成 Jira & GitLab ,这三个工具都需要安装相关插件,才能保证Jira和Jenkins之间、GitLab与Jenkins之间能够正常访问,实现Jenkins与JIRA、GitLab从源码编译、打包、发布到自动部署的全流程。

Jenkins & Jira

插件准备

jenkins中安装插件

  • JIRA Integration for Jenkins
  • Jira Issue Updater
  • JIRA Pipeline Steps
  • JIRA plugin
  • JIRA Trigger Plugin
  • JiraTestResultReporter plugin

jira中安装插件

  • Jenkins Integration for JIRA Server

jenkins中配置

  1. 创建API token(jira中可使用api token,亦可使用用户名密码认证)

  2. 用户-设置-API Token-Add new Token(后续在jira中使用token时,可到此处复制token)

  3. 系统管理-系统设置-JIRA-Steps中添加JIRA sites并测试连接

  4. Jira Trigger Configuration-输入jira路径及用户名密码

jira中配置

  1. 添加应用程序连接:应用程序-应用程序链接-输入jenkins地址-创建新链接
  2. 配置传出认证:点击编辑-传出认证-基本访问-输入jenkins用户名、密码
  3. 配置Jenkins configuration:应用程序-Jenkins configuration-Add Site-输入jenkins地址及用户名密码(亦可使用api token)

添加网络钩子
设置-系统-WebHook-创建WebHook,填写详细信息并设置触发规则
其中url为http://{你的Jenkins地址}/jira-trigger-webhook-receiver/

例如我的地址为:https://jenkins.xxx.com.cn/jira-trigger-webhook-receiver/ , 若出现下图,则表示可以调通:

在这里插入图片描述


jenkins中构建job

构建触发器

  • Build when a comment is added to JIRA

    1. JQL filter:指定触发对象,project=卓越营销中台指的是jira中项目关键字为卓越营销中台的项目,若不填则默认所有(JQLfilter 包括:project、issue等)
    2. Comment pattern:jira备注中填写的comment,当用户在jira中添加指定备注时,会触发jenkins构建,如build this please
    3. Parameter mapping(参数映射)
      1. Custom field (自定义字段)
        2. Jenkins parameter:jenkins中的参数名称
        2. Custom Field ID:访问https://jira.xxx.com.cn/rest/api/2/field 可得到

      2. Issue attribute path(问题属性路径):jira issue中提取出得需要传给jenkins的属性值

  • Build when an issue is updated to JIRA

    1. JQL filter:指定触发对象,project=卓越营销中台指的是jira中项目关键字为卓越营销中台的项目,若不填则默认所有(JQLfilter 包括:project、issue等)

    2. Changelog matcher(更改日志匹配项):jira备注中填写的comment,当用户在jira中添加指定备注时,会触发jenkins构建

      1. JIRA field Matcher(Jira 字段匹配)
      2. JIRA field ID:可选择status/resolution 等
      3. Compare New value: 可选择对应属性的值,如status的值可以为FIXED/CLOSE 等

修改Jira Bug状态验证

  • comment验证
    在关键字为"卓越营销中台"的项目中添加了备注信息:“build this please”,将触发jenkins构建,经验证,jira 提交置顶备注信息后,jenkins成功开始自动构建

  • issue update验证
    选择status作为jenkins构建的触发项,即issue的最新状态为CLOSED时,将触发jenkins构建,经验证,jira 提交status状态为CLOSED后,jenkins成功开始自动构建