AngryRED

Easier & Better

基于Play的JIRA插件开发小结

17 Jun 2015 » java

公司除了Eclipse插件,也有做JIRA的插件Gantt Chart Project for JIRA。自从JIRA Cloud(Atlassian Cloud)发布之后,我们就在研究如何去开发JIRA Cloud上面的插件。JIRA Cloud插件又叫做Jira Connect Add-on。

工具

开发Jira Connect插件的工具有很多,作为一个Java开发人员,我首先找到的就是一个基于Java的工具,Play Java Module for Atlassian Connect(atlassian-connect-play-java)

atlassian-connect-play-java是一个基于Play Framework的工具,能够帮我们快速的建立开发Jira Connect插件的环境。它的优势如下:

  • 能够自动安装插件到http://localhost:2990/jira
  • 能够验证JWT请求。
  • 使用Play框架中的很多优秀的API。
  • 能够使用JIRA中的REST API。
  • 能够很好的整合AUI

开发环境搭建

  1. 下载并安装Atlassian SDK
  2. 下载并安装Play Framework 2.2.x,Play2.2以上的版本变化较多,不适用于本文。

安装完之后,要确保系统环境变量中是否设置正确,可以通过atlas-versionplay version在命令行中验证。

JIRA Application with Play

  1. New Application:打开命令行,通过play new [appName]命令,创建一个Java工程,记得要选择Create a Simple Java application
  2. Start Application:进入刚才创建的Application目录,运行命令play
  3. 配置IDE:运行命令eclipseeclipse with-source=true,将Play Application配置成Eclipse Java Application。
  4. 在IDE中编辑:将工程导入到IDE中。
  5. 添加Atlassian的maven资源库:在build.sbt文件中加入

     resolvers += "Atlassian's Maven Public Repository" at "https://maven.atlassian.com/content/groups/public"
    
     resolvers += "Local Maven Repository" at "file://" + Path.userHome + "/.m2/repository"
    
  6. 添加atlassian-connect-play-java工具:在build.sbt文件中加入

     libraryDependencies ++= Seq(
    		javaJdbc,
    		cache,
    		"com.atlassian.connect"          % "ac-play-java_2.10"                          % "0.10.1" withSources(),
     )
    
  7. atlassian-connect.json:参考Atlassian Connect Documentation,在根目录添加一个atlassian-connect.json文件。
  8. 其它设置:参考atlassian-connect-play-java进行其它设置。
  9. 运行:在命令行中输入run来运行。如果Jira已经启动,运行之后会自动安装到http://localhost:2990/jira,如果没有自动安装,请参考下面步骤。
  10. 安装
    1. 运行本地Jira Cloud实例。

       atlas-run-standalone --product jira --version 6.5-OD-08-001 --bundled-plugins com.atlassian.bundles:json-schema-validator-atlassian-bundle:1.0.4,com.atlassian.webhooks:atlassian-webhooks-plugin:2.0.0,com.atlassian.jwt:jwt-plugin:1.2.2,com.atlassian.upm:atlassian-universal-plugin-manager-plugin:2.19.0.3-D20150522T180613,com.atlassian.plugins:atlassian-connect-plugin:1.1.37 --jvmargs -Datlassian.upm.on.demand=true
      
    2. 安装,play运行之后,默认的在9000端口,在Jira的插件管理页中,选择上传:http://localhost:9000/atlassian-connect.json。

  1. 最新的Jira Cloud版本可以在Release Notes中取到。
  2. build.sbt是用来添加所有依赖的文件,详细设置请参考SBT Settings
  3. conf/routes文件中存储的是HTTP到Java的路径映射,详细请参考Play Java Routing

参考资料

  1. Atlassian Connect Documentation
  2. Play Java Module for Atlassian Connect
  3. Play Framework
  4. Whoslooking-connect

Related Posts