Available: | Atlassian Gadgets 2.0 and later. |
This document assumes that you are familiar with (or have the documentation available for) writing gadgets and you have read Writing an Atlassian Gadget.
Using the Atlassian Gadgets JavaScript Framework is the preferred and recommended way of developing gadgets for Atlassian applications.
During development of our own gadgets, we realised there were a lot of common requirements and functionality between gadgets. This led to the development of the Atlassian Gadgets JavaScript Framework. This framework is the basis of most of the gadgets developed at Atlassian.
Terminology: On this page and its child pages,
Feature overview:
gadgets.io.makeRequest
supplying a cleaner and more common interface for Ajax callsThese examples assume that you are familiar with the gadget XML format and Atlassian's customisations to it.
Here is a basic gadget specification using the Atlassian Gadgets JavaScript Framework:
1 2<?xml version="1.0" encoding="UTF-8" ?> <Module> <ModulePrefs title="__MSG_gadget.title__" directory_title="__MSG_gadget.title__" description="__MSG_gadget.description__"> <Require feature="dynamic-height" /> <Optional feature="auth-refresh"/> <Require feature="oauthpopup" /> <Require feature="setprefs" /> <Require feature="settitle" /> <Require feature="views" /> <Optional feature="atlassian.util" /> <Optional feature="gadget-directory"> <Param name="categories">Other</Param> </Optional> #oauth #supportedLocales("gadget.common,your.gadget.resource.prefix") </ModulePrefs> <Content type="html"> <![CDATA[ /* (1) This resource is required for using the gadget framework */ #requireResource("com.atlassian.gadgets.publisher:ajs-gadgets") #includeResources() <script type="text/javascript"> (function () { /* (2) Construct and initialise the gadget */ var gadget = AJS.Gadget({ baseUrl: "__ATLASSIAN_BASE_URL__", /* (3) Used to make base url available to gadget */ view: {...view-options...} /* (4) Defines the view logic */ }); })(); </script> ]]> </Content> </Module>
The lines of interest are:
This includes all required JavaScript and CSS resources needed to use the framework. See Using Web Resources in your Gadget. The path to the Atlassian Gadgets JavaScript Framework is as follows:
#requireResource("com.atlassian.jira.gadgets:common")
.#requireResource("com.atlassian.gadgets.publisher:ajs-gadgets")
This constructs the gadget object and initialises it with the passed in options.
The framework needs access to the base URL, so we pass it in. See Using Substitution Variables and Directives in your Gadget.
This initialises the view.
See the sample OAuth gadget (requires login) for a simple example of how to use the JavaScript framework.
Including Features into your Gadget
Using Web Resources in your Gadget
Writing an Atlassian Gadget
Gadget Developer Documentation
Rate this page: