zoukankan      html  css  js  c++  java
  • jira8.0 api变化--含解决方法

    参考atlassian官方的升级到jira8.0的文档

    其中跟开发相关的有一下几点:

    1. 结束对PostgreSQL 9.3的支持
    2. 结束对MySQL 5.5的支持
    3. 结束对com.atlassian.fugue的支持(Jira Service Desk)。目前的影响是globalPermissionManager.getGlobalPermission的返回值option的路径变了,jira8以前的路径是:com.atlassian.fugue.Option.Jira8的路径是io.atlassian.fugue.Option
    4. ContainerProvider SPI移除。(com.atlassian.jira.component.pico.extension.ContainerProvider )
    5. ComponentManager已移动

      工件中的  ComponentManager 类  jira-core已从com.atlassian.jira 包移动  到  com.atlassian.jira.component.pico 包,以改进包结构。

      • 使用jira-api的ComponentAccessor  。
      • 插件一般不应完全取决于  jira-core Maven工件中的任何内容,因为它是非API的,因此Jira团队可能会更改,恕不另行通知。
    6. 使用utf8mb4支持MySQL
    7. jQuery升级。jQuery从1.7.2升级到2.2.4
    8. Apache Tomcat升级。Tomcat升级到版本8.5.32,升级到Jira 8.0时可能需要进行一些更改。

    项目中不兼容的实例

    1.com.atlassian.plugin.Plugin#isEnabled

    原因:方法弃用

    状态:已修复

    解决方案:改用#getPluginState

    示例:

    总结:ira的api版本变化不会一个版本直接把上个版本弃用的代码直接删除,而是用@deprecated声明,在未来的某个版本中再弃用。

    所以,我们在调用api的时候,要避免使用已经弃用的方法.

    2.com.atlassian.jira.issue.search.SearchResults#getIssues

    场景:

    状态:暂无解决方案 

    状态:已解决

    原因:api变动

    jira7
    jira8
    分析

    jira8对SearchResults进行了改造,增加泛型的支持,SearchResults不仅仅是用来存放Issue的查询结果,还可以查询其他类型,所以去除了#getIssues方法,用#getResults方法替代。

    但是升级没考虑兼容性,之前的方法不应该删除,或者新建一个类来实现通用的查询。

    解决方案:

    兼容类
    使用

    3.Required:com.atlassian.fugue.Option; Found:io.atlassian.fugue.Option

    场景:

    状态:暂无解决方案

    原因:jira8结束对com.atlassian.fugue的支持。#getGlobalPermission的返回值由com.atlassian.fugue.Option改为io.atlassian.fugue.Option

    状态:已解决

    解决方法:

    方案一
    方案二

    通过lombok提供的val,相当于一个泛型,在编译时才会寻找变量类型,不需要显示导入包了 链式调用,去除中间环节,注意:需要处理空指针

     

  • 相关阅读:
    考研_数据结构
    快速排序模板
    nginx设置跳转https
    PHP 构造函数
    js scroll事件
    php获取url中的参数
    js 的cookie问题
    yii2关联表
    sql优化之concat/concat_ws/group_concat
    yii2.0 url美化-apache服务器
  • 原文地址:https://www.cnblogs.com/blog-cq/p/13029416.html
Copyright © 2011-2022 走看看