Working with the SDK

The Atlassian Plugin SDK provides a set of shell scripts for creating, installing and building plugins for Atlassian products. This page introduces the SDK.

Benefits of Using the Atlassian Plugin SDK

The Atlassian Plugin SDK makes your life easier by helping you do the following:

  • Build plugins for any Atlassian application with a single tool.
  • Create a plugin skeleton from a Maven archetype, specific to the Atlassian application you are developing for.
  • Download the application binaries, install your plugin and start the application.
  • Dynamically re-install your plugin after changes during development. No restart required, not even for JIRA.
  • Use dynamic bundle dependencies with the OSGi framework.
  • Write quality unit tests and integration tests.
  • Speed up the all-important code-deploy-test cycle.

And more! And we're continually improving the SDK with new and better features.

Looking at the SDK Command Format

The SDK commands are wrappers for the underlying Maven commands. The SDK Maven plugin defines custom Maven goals for performing common plugin development tasks. If you want to run the integration tests – and only the integration tests – you can say:
atlas-integration-test

Similarly, you can run the unit tests in isolation:
atlas-unit-test

You can also install your plugin from the command line, instead of having to browse to the correct page and make several clicks:
atlas-install-plugin
Or:
atlas-cli then pi

You can pass parameters on the command line in the form:

atlas-run-standalone --product confluence

To pass Java parameters in a command, use the jvmargs parameter, in the following form: 

atlas-run-standalone --product confluence --jvmargs '-D<parameter1>=<value> -D<parameter2>=<value>

Running Behind a Corporate Firewall

If you're working behind a proxy server requiring NTLM authentication, you may find it convenient to use a local authenticating proxy server, such as cntlm. You can then set Java HTTP environment variables in your SDK commands to point to the proxy. For example, by using: -Dhttp.proxyHost=localhost -Dhttp.proxyPort=3128 -Dhttps.proxyHost=localhost -Dhttps.proxyPort=3128 -Dhttp.nonProxyHosts=localhost|127.0.0.*).

To run the SDK commands where your Java programs don't have direct access to the Internet, your atlas commands should be run with the -DallowGoogleTracking=false flag. This disables Google web requests during the build process.

Supported Atlassian Applications and Default Ports

The table below shows the applications currently supported by the Atlassian Plugin SDK, the default port, and the product key for each host application.

Atlassian Application

Default Port

Product Key

Bamboo

6990

bamboo

Bitbucket 7990 bitbucket

Confluence

1990

confluence

Crowd

4990

crowd

Crucible

3990

fecru

FishEye

3990

fecru

JIRA

2990

jira

RefApp

5990

refapp

Stash

7990

stash

Caveat for JIRA: Plugins developed for versions of JIRA before 4.0 are supported, but using the SDK with versions of JIRA earlier than 4.0 is not. For developing plugins for JIRA 3.13 and earlier, take a look at the JIRA Documentation Archives.

The SDK supports both static and dynamic plugins. The focus is on version 2 plugins, as supported by the Atlassian Plugin Framework.

Was this page helpful?
Powered by Confluence and Scroll Viewport