Last updated May 24, 2024

Common coding tasks

All of the Atlassian products are extensible. Each one has unique capabilities and requirements, as described in our product tutorials and references. But they also share s common underlying platform. Thus, there are some coding tasks and concepts that are common across applications. These include adding a configuration UI for a plugin, working with the activity stream, or accommodating websudo in your plugin.

The following pages describe some of these common programming tasks.

Once you've got a handle on the common aspects of Atlassian plugin programming, you can dive into the product-specific references below. You may know about Confluence or Jira, but have you considered creating a plugin for Bitbucket Server or Bamboo?


So you're thinking of customising JIRA, our issue tracker and project planning tool? Maybe you want to change the way JIRA looks . Or create a custom field type. Take a look at the Getting started guide or interact with JIRA via the remote APIs .

You can also build for the JIRA applications, like JIRA Software and JIRA Service Desk. Perhaps you want to interact with sprints via the JIRA Software REST API or develop your own Rule Component for JIRA Service Desk Automation. Check out the JIRA Software development guide and the JIRA Service Desk development guide for more details.


Confluence is a collaboration platform you can use for project planning, design, knowledge management, documentation, or as a company intranet--you name it. There are two main ways to develop with Confluence: using the remote API or developing an add-on. If you're integrating Confluence with another application, you'll most likely want to use the remote API. If you'd like to add capabilities to Confluence, an add-on may be the answer. For a quick customisation that requires only HTML, CSS and JavaScript, try a user macro.

You can develop add-ons for Confluence Cloud or Server.


Got continuous integration? Then you've got Bamboo, a build server that does more than mindlessly run your builds over and over. Enhance Bamboo's awesomeness by building a plugin or check the remote APIs .


Crowd is a web application that manages users, permissions and application access control. It offers a number of out-of-the-box connectors for well known applications and directories. If yours is not one of them, you can write a custom connector. You can also add to Crowd functionality by writing a plugin .

FishEye and Crucible

FishEye and Crucible add reporting, visualisation, notifications, code sharing and peer review to your source repository. Develop plugins and gadgets to extend FishEye and Crucible. Use the remote APIs to integrate FishEye and Crucible software with other systems.

Rate this page: