Jira的插件开发流程实践

发表于:2016-11-14 11:32

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:DevilMayCry    来源:51Testing软件测试网采编

  怎么开头呢,由于自己比较懒,博客一直不怎么弄,以后克己一点,多传点自己遇到的问题和经历上来,供自己以后记忆,也供需要的小伙伴少走点弯路吧
  最近公司项目需要竞标一个运维项目,甲方给予了既定的几种比较常用的平台各司其职,并提出了一些定制化要求,让所有竞标厂商,用同样的平台,同样的环境去POC,其中jira就是一种一部分,然后学习过程就开始了。
  请让我再多一句题外话,说点心得,我们要做的事情,和想要做的事情,基本上atlassion官方都给予了文档,无奈,本人的英文实在渣到死,更无奈的是,国内关于jira的文档也比较少,只能硬着头皮去看英文,好好就在,它并没有想象中那么难懂,作为一个程序员,一些常用的界面,配置文件,只要截图贴出来,基本不需要过多的解释,应该就明白个一二了。为什么提这个,因为我知道就是我有心想要把我这次学习中碰到的所有问题都写出来,也肯定写不全,最全面的文档还要是回归官方文档的,这篇文章,算是给那些想去了解jira插件开发的小伙伴入个门,省的到官网去,都不知道用什么关键字去搜索相关文档 。
  好了,围绕思维三部曲开始吧。
  一、what--什么是jira插件
  jira是什么,就不多介绍了,我想能来看这文章的小伙伴,jira肯定是已经接触的,直接回到jira插件上,在我理解看来,jira本身有着很强大的功能,我认为一个成熟项目的强大一定是抽象层面的强大,一定不是实现层面的强大,这才是方便扩展的正确做法,也符合设计模式,或者说,也符合人正常思维模式。所以,如果你想要定制一块功能,融合进你的业务,肯定jira本身提供不了 ,这时候,就需要插件了,比如说,jira界面默认是英文的,我们肯定还是中文比较看的比较熟悉,想找个汉化的,怎么办,官方提供了不同版本的汉化包,不同版本汉化程度也不一样,有汉化了98%的,也有汉化了60%,对我们来说叫做汉化包比较通俗易懂,实质上,它就是一个插件,更直白一点,就是个jar包,也是通过管理员通过在jira插件页面上传插件安装的,再比如说,jira默认支持的字段类型有这些:
  那如果,我想要实现一个功能,在界面上就是一个输入框,点开以后,就弹出来一个另一个系统的页面,用来勾选参数呢?如下图:
  这样的功能,怎么实现呢?ok,插件可以帮助你.当然altassian也有自己的插件商城,有收费也有免费的,至于每个插件的作用,自己看详细解释吧,如下图:
  二 、HOW - 如何开发jira插件,这是这篇文章介绍的重心
  1.首先要开发jira插件,必须要安装altassian的sdk,先给出官方地址,上面详细的介绍了安装的方法
  https://developer.atlassian.com/docs/getting-started/set-up-the-atlassian-plugin-sdk-and-build-a-project/install-the-atlassian-sdk-on-a-windows-system
  这地址打开后,你会发现,左边的导航链接有很多,实际上,只要照着它的指导,一篇一篇的做一下,就基本问题不大
  这里简单的描述下步骤:
  ①装JAVA配置环境变量
  ②下载SDK,这里以WINDOWS为例,下载之后是个exe文件,一步一步点下去,设置好自己的安装目录,就可以了
  ③验证SDK是否安装成功,windows下CMD输入atlas-version,如果出现以下界面,代表成功
  ④我们进到它安装目录里看下结构:
  理论上,安装完成后,应该有图中的几个目录,忽略我模糊的部分,看下这个目录名称,基本能看到这个sdk由什么构成 ,有maven ,jre,还有bin下各种各样bat文件,ok,进一步联想一下,后面的话,应该会有各种各样的maven指令从中央库去down jar吧。(OK,心理活动就到这里)
  2.到这一步,SDK已经安装完毕,然后让我们开始开发插件之旅吧,首先我们得定义一个目录吧,用来放插件代码的位置,为了方便吧,我们就在当前目录创建一个文件夹 叫做 myPlugin  如图:
  然后cmd 进入此目录,敲atlas-create-jira-plugin 回车会出现以下界面,这里备注一下,后面会有多次操作cmd界面的动作,我会一一解释是每一步是用来干嘛的,因为我本地已经开发过,中间依赖的jar包已经由maven从atlassian中央库down下来了,第一次如果安装的话,不同的指令操作可能会触发down jar包的,等等就好(我记得有个web容器的war包,里面包含tomcat中间件,有260M。。。。祝君好运):
  这个界面出来之后,是需要我们继续输入信息的,并不是就看看就行,熟悉maven的应该知道即将输入的是什么,这里不对maven的东西做过多赘述了,设置好groupId和artifactid 还有version就行,这里version,它自动会默认生成一个1.0.0-SNAPSHOT快照版本号,如果不想改,继续回车就行,然后会碰到package,这个是指定代码的包名路径的,同version一样,会有默认的值,和上面groupid的设置的值一样,如果不修改的话,继续回车,最后确认上面输入的信息,如果同意就输入"Y",反之就输入“N”,确认以后,会出现build的过程信息,如下图:
  出现build success,就代表一个插件工程创建成功,让我们看下目录结构:
  这个工程,很显然是个maven工程,ok,那么可以看出来上面执行的atlas-create-jira-plugin指令是什么意思了,相当于按照我们需要的插件名称,版本等信息,建立一个maven工程,我们再看下这个目录的深层次结构,这里直接导入eclipse或者intellJ里看吧,更加直观一下如图:
  可以看到,自动生成了很多文件,我们可以自己点开看看写了些什么,程序员么,最不缺乏的应该就是联想,这几个文件,对java开发来说,应该都是常见的东西,所以不多做描述了,这里只提一个文件,就是atlassian-plugin.xml ,在继续说之前,我先问一个问题,jira也是一个web工程,引用大量的jar包,其中也有很多是maven工程构建的jar,怎么区分,哪些是插件,哪些不是插件呢?聪明的小伙伴,一定懂我问的意思,没错,就是这个文件,atlassian-plugin.xml,正因为这个文件,所以才能识别它是个插件,当然此文件的作用不仅仅是识别功能,我们可以打开这文件内容看看如图:
  是不是不懂什么意思?不懂就对了,我也不懂,但是即使不懂,有一些节点的关键字,我们应该是有一种程序员的敏锐性去理解的,比如i18n,这肯定是国际化的资源文件,plugin-info节点肯定是对当前插件的一些描述信息,然后有的节点里有location属性,里面的路径,应该就是上图中,需要引用的文件的相对路径,恩,其他的应该看不出来了
  ok,到这边就算大致对这个工程,有个结构上的熟悉了
21/212>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号