JIRA 4.0 : JIRA Plugin Guide
This page last changed on Sep 29, 2009 by mlassau.
JIRA includes a plugin system that enables developers to write plugins which enhance JIRA's functionality in various ways. On this page: A Plugin OverviewA JIRA plugin is a single JAR containing code, a plugin descriptor (XML) and usually some Velocity template files to render HTML. The plugin descriptor is the only mandatory part of the plugin. It must be called atlassian-plugin.xml and be located in the root of your JAR file. Each plugin consists of one or more plugin modules. These are of different types (for example a report, or a portlet) and each has an individual XML element describing it. Each module is described below together with the XML element required for it. Here is a sample of the descriptor with highlighted elements: <!-- the plugin key must be unique, think of it as the 'package' of the plugin --> <atlassian-plugin key="com.atlassian.plugin.sample" name="Sample Plugin" plugins-version="2"> <!-- a short block describing the plugin itself --> <plugin-info> <description>This is a brief textual description of the plugin</description> <!-- the version of the plugin --> <version>1.1</version> <!-- the versions of the application this plugin is for --> <application-version min="3.0" max="3.0"/> <!-- details of the plugin vendor --> <vendor name="Atlassian Software Systems Pty Ltd" url="http://www.atlassian.com"/> </plugin-info> . . . 1 or more plugin modules . . . </atlassian-plugin> Each plugin has a plugin key which is unique among all plugins (eg "com.atlassian.plugin.sample"). Semantically this equates to the package of a Java class. Each module within the plugin also has a module key which is unique within the plugin (eg "myreport"). Semantically this equates to the class name of a Java class. The plugin key + module key are combined to make the complete key of the plugin module (combining the examples above, the complete key would be "com.atlassian.plugin.sample:myreport"). Note: a : is used to separate the plugin key from the module key. Each plugin is either of type "Plugins1" or "Plugins2". For details, please see Differences between Plugins1 and Plugins2. JIRA Plugin Module TypesThe following types of plugin modules are supported by JIRA
Built-in JIRA system pluginsA number of functions and areas within JIRA 3 are shipped as built in plugins. These can also be useful for plugin developers who want to know more about how to create their own plugins, as they showcase the functionality that can be built. The system plugins are referenced from the following files (located in /WEB-INF/classes:
and in other system-*-plugin.xml files in that directory. Setting up a Plugin ProjectPlease refer to How to Build an Atlassian Plugin using the Atlassian Plugin SDK to set up your development environment and create a plugin template. Deploying a JIRA PluginPlease see Managing JIRA's Plugins for instructions on how to deploy a JIRA plugin. |
![]() |
Document generated by Confluence on Oct 06, 2009 00:31 |