This page last changed on Oct 30, 2008 by smaddox.

This page summarises the components of the Atlassian plugin development platform and provides links to more information. Unless otherwise stated, the information here refers to the latest version of the plugin framework. Please follow the links to find out about previous versions.

On this page:

Short Description

Atlassian is moving towards wider and more intimate integration between the different applications we develop. Providing a common plugin framework is a key part of this initiative, because the plugin framework will help developers (both Atlassians and others) to write plugins that work on more than one of the products. It will also allow plugins on each product to have a consistent look and behaviour from a user's point of view, even when the plugin works on only one application.

Full Description

The Atlassian Plugin Framework 2 replaces the original Atlassian Plugins framework, described in the Developer Network. The new framework is based on OSGi, a dynamic module system for Java.

A plugin is a bundle of code, resources and configuration files that can be dropped into an Atlassian product to add new functionality or change the behaviour of existing features.

Every plugin is made up of one or more plugin modules. A single plugin may do many things, while a plugin module represents a single function of the plugin.

There are two versions of plugins in the Atlassian Plugin Framework 2:

  • Version 1 — These may be static (deployed in WEB-INF/lib) or dynamic (via the web UI, only in Confluence) and should work the same as they did in version 1 of the Atlassian Plugin Framework. The capabilities and features available to version 1 plugins vary significantly across products.
  • Version 2 — These plugins are dynamically deployed on an internal OSGi container to provide a consistent set of features and behaviours, regardless of the application the plugin is running on. Version 2 plugins have to be specifically declared as such, using the plugins-version="2" attribute in atlassian-plugin.xml.

Components

There are three major components in the Atlassian plugin development platform:

  • Plugin Framework - The framework that executes the plugins and manages the available plugin modules.
  • Shared Access Layer (SAL) - The API for accessing common services, regardless of the underlying Atlassian application interfaces.
  • Unified Plugin Manager - The UI for installing, managing, upgrading, and sharing Atlassian plugins (Not yet available.)

Version Matrix

Almost every Atlassian application has a version of the Atlassian Plugin Framework. However, they may not all have the same version. Eventually, each Atlassian application (Confluence, FishEye, Crucible, Crowd, etc) will be upgraded to version 2.x, but many are running version 1 today. If you are developing a plugin, you need to know what your version is capable of, and how it will interact with other versions.

The Atlassian Plugin Framework 2 is available in some, but not all, Atlassian applications

The matrix below shows the applications which support version 2.x of the Plugin Framework. The applications are listed horizontally across the top and the Plugin Framework 2.x versions are listed vertically on the left.

Version numbers in brackets show a future release expected to support the relevant framework version.

Plugin Framework Bamboo Confluence Crowd Crucible FishEye JIRA
2.0     Crowd 1.5 Crucible 1.6 FishEye 1.6  
2.1   Confluence 2.10 Crowd 1.6      
2.2 Bamboo 2.3 Confluence 3.0 Crowd 2.0 Crucible 2.0 FishEye 2.0  
2.3 Bamboo 2.4         JIRA 4.0
2.4   (Confluence 3.1)       (JIRA 4.1)

Documentation

Plugin Development Platform

Please refer to the Developer Network:

Plugin Framework — Latest Version

Please refer to the Plugin Framework documentation:

Plugin Framework — All Versions

Plugin Framework 2.4 Documentation
Plugin Framework 2.3 Documentation
Plugin Framework 2.2 Documentation
Plugin Framework 2.1 Documentation
Plugin Framework 2.0 Documentation

Document generated by Confluence on Dec 08, 2009 00:31