gadgets.*API defined by the OpenSocial specification. In addition, you will probably want to use some of the Atlassian extensions to the gadget specification. You will also want to package your gadget as an Atlassian plugin, along with plugin modules that allow your gadget to interact with the Atlassian applications such as JIRA and Confluence.
Gadget XML Specification
See how to define your gadget via an XML file.
Atlassian Plugin SDK
Many gadgets go hand-in-hand with Atlassian plugins. Get started with developing an Atlassian plugin.
Atlassian Development Hubs