创建jira插件
准备环境、安装SDK
https://developer.atlassian.com/docs/getting-started/set-up-the-atlassian-plugin-sdk-and-build-a-project/install-the-atlassian-sdk-on-a-linux-or-mac-system
编写插件
https://developer.atlassian.com/docs/getting-started/set-up-the-atlassian-plugin-sdk-and-build-a-project/create-a-helloworld-plugin-project
Create a HelloWorld Plugin Project
At this point, you have set up your environment and run a test with a standalone version of JIRA. In this section, you learn how to create a plugin module. For now, you are just going to use the command line tools. Later, you'll learn how to run the tools from an IDE. This page contains the following sections:
Step 1: Create your first project
If you haven't already done so, go ahead and open a terminal window and then do the following:
- Change directory to the
atlastutorialfolder you created earlier at the root of your home directory. Once you are in the folder, enter the
atlas-create-jira-plugincommand to create the plugin.1atlas-create-jira-plugin
The command prompts you for the JIRA version.
- Enter
1forJIRA 5and press RETURN.
The command prompts you for the basic information each plugin needs. Respond to the prompts using the information in the following table:
Define value for groupId
com.atlassian.tutorialDefine value for artifactId
helloworldDefine value for version
1.0-SNAPSHOTDefine value for package
com.atlassian.tutorial.helloworldThe system prompts you to confirm the configuration you entered:
1Confirm properties configuration:
2groupId: com.atlassian.tutorial
3artifactId: helloworld
4version: 1.0-SNAPSHOT
5package: com.atlassian.tutorial.helloworld
- Press
yto continue.
The system creates ahelloworldproject folder. This initial project folder contains the basic skeleton of a plugin.
Step 2: Examine the contents of the plugin skeleton
With a single command, you have a skeleton plugin project containing the following source:
|
Contents |
Description |
|---|---|
|
|
A placeholder for a license file. |
|
|
Simple hints for running the atlas- commands. |
|
|
Maven configuration file for your project. |
|
|
The generated source for the plugin. |
Take a closer look at the code created for you in the src directory. The src/test/java contains a generated class and some placeholders for testing your plugin. You'll learn more about this later. The src/main folder contains an initial/com/atlassian/tutorial/helloworld/MyPluginComponent.java file and a/com/atlassian/tutorial/helloworld/MyPluginComponentImpl.java. The src/main/resources folder contains a singleatlassian-plugin.xml file — this file is the descriptor. It defines the plugin modules your plugin uses.
At this point, your descriptor file should not define any modules. Let's test this, by looking in the descriptor file:
- Open your favorite text editor.
Browse to and open the
atlastutorial/helloworld/src/main/resources/atlassian-plugin.xmlfile.
At this point the contents of the file should look like this:1<atlassian-plugin key="${project.groupId}.${project.artifactId}" name="${project.name}" plugins-version="2">2<plugin-info>
3<description>${project.description}</description>4<version>${project.version}</version>5<vendor name="${project.organization.name}" url="${project.organization.url}" />6<param name="plugin-icon">images/pluginIcon.png</param>
7<param name="plugin-logo">images/pluginLogo.png</param>
8</plugin-info>
9<!-- add our i18n resource -->
10<resource type="i18n" name="i18n" location="helloworld"/>
1112<!-- add our web resources -->
13<web-resource key="helloworld-resources" name="helloworld Web Resources">
14<dependency>com.atlassian.auiplugin:ajs</dependency>
1516<resource type="download" name="helloworld.css" location="/css/helloworld.css"/>
17<resource type="download" name="helloworld.js" location="/js/helloworld.js"/>
18<resource type="download" name="images/" location="/images"/>
19<context>helloworld</context>
20</web-resource>
2122<!-- publish our component -->
23<component key="myPluginComponent" class="com.atlassian.tutorial.helloworld.MyPluginComponentImpl" public="true">
24<interface>com.atlassian.tutorial.helloworld.MyPluginComponent</interface>
25</component>
2627<!-- import from the product container -->
28<component-import key="applicationProperties" interface="com.atlassian.sal.api.ApplicationProperties" />
2930</atlassian-plugin>
Several of the entries in the
<plugin-info>should look familiar. If you recall, theatlas-create-jira-plugincommand asked you for agroupIdand anartifactId. These values landed in another file all together.Your plugin includes resources that allow you to control look and feel. These appear under the web resources section. You'll learn more about these in another tutorial. For now, focus on the relatively simple
<plugin-info>section.- Close the
atlassian-plugin.xmlfile. - Open the
atlastutorial/helloworld/pom.xml.
This file is a Maven project object model file. This file contains project and dependency information that Maven uses to build your plugin. This tutorial isn't going into the finer points of Maven or its files. - Search for the
artifactIdvalue.
You should find theartifactIdyou entered when you created the skeleton. Theproject.artifactIdyou saw in theatlassian-plugin.xmlfile references this value. - Familiarize yourself with the file a bit by looking for other values you entered through the command such as the
groupIdandversion. - Close the file when you are done.
Step 3: Load the helloworld plugin into JIRA
Even though you haven't written any code, you can still load the skeleton plugin into JIRA. When you load a plugin into JIRA, it is visible in the Universal Plugin Manager (UPM). The UPM is in every Atlassian application. It allows you to install, view, and update plugins in your host application. The host application in this case is JIRA. You load a plugin using the atlas-run command. Try this command and see what happens:
- Open a command line (DOS prompt for Windows users).
Change directory to the root of your plugin project.
1cd atlastutorial/helloworld
Enter the
atlas-runcommand.
The command creates atargetsub directory under your project root. You will examine this directory a bit more later. When the command completes successfully, you'll see some output that looks very similar to the output of theatlas-run-standalonecommand.1[WARNING] [talledLocalContainer] INFO: Deploying web application archive cargocpc.war
2[WARNING] [talledLocalContainer] May 9, 2012 8:15:56 AM org.apache.coyote.http11.Http11Protocol star
3t
4[WARNING] [talledLocalContainer] INFO: Starting Coyote HTTP/1.1 on http-2990
5[WARNING] [talledLocalContainer] May 9, 2012 8:15:56 AM org.apache.jk.common.ChannelSocket init
6[WARNING] [talledLocalContainer] INFO: JK: ajp13 listening on /0.0.0.0:8009
7[WARNING] [talledLocalContainer] May 9, 2012 8:15:56 AM org.apache.jk.server.JkMain start
8[WARNING] [talledLocalContainer] INFO: Jk running ID=0 time=0/130 config=null
9[WARNING] [talledLocalContainer] May 9, 2012 8:15:56 AM org.apache.catalina.startup.Catalina start
10[WARNING] [talledLocalContainer] INFO: Server startup in 100008 ms
11[INFO] [talledLocalContainer] 2012-05-09 08:15:59,176 QuartzWorker-0 INFO ServiceRunner Backup Se
12rvice [jira.bc.dataimport.DefaultExportService] Data export completed in 781ms. Wrote 622 entities t
13o export in memory.
14[INFO] [talledLocalContainer] 2012-05-09 08:15:59,186 QuartzWorker-0 INFO ServiceRunner Backup Se
15rvice [jira.bc.dataimport.DefaultExportService] Attempting to save the Active Objects Backup
16[INFO] [talledLocalContainer] 2012-05-09 08:15:59,487 QuartzWorker-0 INFO ServiceRunner Backup Se
17rvice [jira.bc.dataimport.DefaultExportService] Finished saving the Active Objects Backup
18[INFO] [talledLocalContainer] Tomcat 6.x started on port [2990]
19[INFO] jira started successfully in 161s at http://manthony-PC:2990/jira
20[INFO] Type Ctrl-D to shutdown gracefully
21[INFO] Type Ctrl-C to exit
- Open your browser and log into the JIRA instance.
(Remember, the username and password are bothadmin.) - Select the
cog (Administration) icon in the right corner. - Choose Add-ons from the menu.
The system places you on the Administration page. - Choose Manage Add-ons from the left-hand menu.
The system opens the Manage Add-ons page. - Locate the helloworld plugin listings in User-installed Add-ons category.
You'll find two listings for your plugin. One for the plugin itself and one for the plugin tests. - Expand each entry by click it.
You should see the following for the plugin alone:
The plugin has just the basic modules that you get for "free" when you create a plugin. These modules don't do much yet. - Close the JIRA browser window.
- Return to the terminal window where you started
atlas-runand shutdown the process withCTRL-D.
Step 4: Make a change and see it reflected in the application
In this step, you'll make a small change in your plugin's pom.xml file. Then, you'll rebuild your plugin with the atlas-run command.
- Open the
pom.xmlfile in your favorite editor. Locate the
<organization>element.Update the element to look like the following:
1<organization>
2<name>HelloGoodby Inc.</name>
3<url>http://www.helloworldgoodbye.com/</url>
4</organization>
- Save and close the file.
- Run the
atlas-runcommand in the terminal window. - Open the plugins page in your browser using the following path http://localhost:2990/jira/plugins/servlet/upm#manage.
JIRA still prompts you for the username/password. - Expand the helloworld plugin to see your changes.
The Next Steps
So far, you've used the SDK from a command line. However, most programmers working in complex code prefer the help of an integrated development environment (IDE). One of the most popular IDE is Eclipse. In the next section, you install and configure the Eclipse IDE on Windows orfor Linux/Mac. If you are using IntelliJ, please see this page.
创建jira插件的更多相关文章
- 【转】Jira插件安装
一.Jira插件列表(可以将下面免费插件直接下载,然后登陆jira,在"插件管理"->"上传插件",将下载后的免费插件直接进行上传安装即可) 序号 插件名 ...
- jira 插件介绍地址
1. 官方的 介绍地址 http://confluence.gjingao.com/pages/viewpage.action?pageId=328170 序号 插件名称 功能概要 供应商 资源 10 ...
- 使用Autodesk Vault插件向导轻松创建Vault插件
Vault SDK帮助文档中已经详细描述了怎么创建Vault插件,不过还是太麻烦了,首先要添加必要的引用,修改程序集属性,添加vcet.config文件,实现必要的接口,最后还要手动把生成的文件拷贝到 ...
- jira插件带ui界面和几种方式
http://localhost:2990/jira/plugins/servlet/issuecrud jira插件带ui界面和几种方式 https://developer.atlassian.co ...
- jQuery 如何创建基本插件(翻译)
有时候,你希望有一块功能在整个代码当中都可以使用.例如,你可能想要有一个单一的方法可以在jQuery选择器上进行调用,用于处理该选择器上的一系列操作.又或许你编写了一个十分有用的工具函数,并希望能够简 ...
- WordPress插件制作教程(一): 如何创建一个插件
上一篇还是按照之前的教程流程,写了一篇WordPress插件制作教程概述,从这一篇开始就为大家具体讲解WordPress插件制作的内容.这一篇主要说一下插件的创建方法. 相信大家都知道插件的安装文件在 ...
- Docker 创建 Jira Core(Jira SoftWare) 7.12.3 中文版
目录 目录 1.介绍 1.1.什么是 JIRA Core? 1.2.什么是 JIRA SoftWare 2.JIRA 的官网在哪里? 3.如何下载安装? 4.对 JIRA 进行配置 4.1.JIRA ...
- Docker创建JIRA 7.2.4中文破解版
目录 目录 1.介绍 1.1.什么是JIRA? 2.JIRA的官网在哪里? 3.如何下载安装? 4.对JIRA进行配置 4.1.打开浏览器:http://localhost:20012 4.2.JIR ...
- ArcGIS Desktop python Add-in 创建一个插件
1)创建一个项目 首先创建一个插件项目,本节介绍如何利用向导创建一个插件项目. 创建任何一个ArcGIS插件产品的过程都是一样的. 创建一个Python插件项目包括2个步骤: a) 选择一个插件项目文 ...
随机推荐
- Software: MPEG-7 Feature Extraction Library
Software MPEG-7 Feature Extraction Library : This library is adapted from MPEG-7 XM Reference Softwa ...
- 洛谷P1467 循环数 Runaround Numbers
P1467 循环数 Runaround Numbers 89通过 233提交 题目提供者该用户不存在 标签USACO 难度普及/提高- 提交 讨论 题解 最新讨论 暂时没有讨论 题目描述 循环数是 ...
- Android书籍资源汇总
之前一直在Linux下使用C++做服务器端的开发工作,对Android关于移动方面的开发了解较少,现将android开发方面的书籍与资源整理如下,方便后续的查阅. 19本Android开发书籍 7本A ...
- .NET 可选择的转型路径(转)
新的一年,您在学习和工作上,想坚守所学,还是尝试转型呢? (1) 继续钻研 C# 4.0 / AJAX / LINQ to AD.LINQ to JavaScript / WF, WCF, WPF, ...
- 读取Jar包中的资源问题探究
最近在写一个可执行jar的程序,程序中包含了2个资源包,一个是images,一个是files.问题来了,在Eclipse里开发的时候,当用File类来获取files下面的文件时,没有任何问题.但是当程 ...
- Android 6 Marshmallow USB调试授权
Google在Android在5.1版之后进行了重大变革,推出了Android 6 Marshmallow,我们先看看当它接上工作站时,有什么样的状况出现. 如图1所示,会弹出一个窗口,[是否允许此计 ...
- LLVM language 参考手册(译)(1)
LLVM Language Reference Manual 摘要 这个文档是一个LLVM汇编语言的参考手册.LLVM是一个基于Static Single Assignment(SSA - 静态单赋值 ...
- 小米、MIUI、sqlite3: not found--miui安装sqlite3
以下为miui安装sqlite3的教程: 1.从AVD中将sqlite3导入到PC的D:\android目录下(AVD的版本需要和手机操作系统的版本相同). #adb pull system/xbin ...
- linux shell 逻辑运算符、逻辑表达式
shell的逻辑运算符 涉及有以下几种类型,因此只要适当选择,可以解决很多复杂的判断. 一.逻辑运算符 逻辑卷标 表示意思 1. 关于档案与目录的侦测逻辑卷标! -f 常用!侦测『档案』是否存在 e ...
- CentOS7.0安装与配置Tomcat-7
解决权限不够 #chmod a+x filename 安装说明 安装环境:CentOS-7.0.1406安装方式:源码安装 软件:apache-tomcat-7.0.29.tar.gz 下载地址:ht ...