Automatic update for add-ons listed on Marketplace: Create a new version of you add-on listing on marketplace.atlassian.com and we will take care of updating all existing installations.
Released April 2016
Signed URLs for iframes are now optional (April 19)
It is now possible to opt out of signed URLs for web panels and dialogs. This allows you to improve the load time of your iframe by taking full advantage of HTTP caching (only possible now because the URL remains stable). Opt out by adding an
"authentication": "none" attribute to your module:
In the iframe content, you can later use
HipChat.auth.withToken(...) to get a JWT for accessing your backend API.
Note: This feature can be used in the descriptor today, but the HipChat apps will only start to honor it at the beginning of May.
Versioning (April 18, 2016)
HipChat Connect has introduced better support for API versioning. See HipChat Connect Versioning for more information on how to make use of it in your plugin.
Configuration Screen JS API enhancements (April 18, 2016)
It is now possible to use the
HipChat.auth.withToken(...) JS API from the configuration screen.
File Viewer JS API (April 8)
Released March 2016
SNI Support (Mar 1, 2016)
HipChat now supports Server Name Indication (SNI). This allows you to host add-ons and custom webhooks on services that use SNI, most notably:
- AWS API Gateway
Released February 2016
HipChat Native URL scheme with support for module targets (Feb 15, 2016)
Link to dialogs, sidebars and external pages from a Card title or other
url attributes in a card: Sending Messages
Extension REST API (Feb 5, 2016)
Create and remove glances, actions, sidebars, dialogs, external pages and webhooks at runtime through our new API:
Released January 2016
Glance REST API
Create and remove Glances at runtime. See Glances - Archived to learn more. Other extension types will be supported in February.
New JS token API to authenticate add-on iframe to add-on backend calls
No need to worry about creating tokens for AJAX calls from your iframe to your backend anymore! Just call the new
withToken API and reuse the existing JWT auth logic in your backend:
New JS API to retrieve room and user information in the HipChat UI
Link to a room or 1:1 chat from a notification message
You can now include links to other rooms or 1:1 chats in HTML notifications and cards by using the HipChat Custom URL scheme. You can even open the target room with your particular sidebar opened, by using the same
data-target-options attributes we already support for links to add-on components in cards and notifications.
Released December 2015
Preserve the OAuth ID across add-on re-installs
Wanted to use the OAuth ID as a stable ID to identify an add-on installation? Frustrated about losing all user-approved 3LO tokens after a re-install? You can now opt-in to stable OAuth IDs by using the new add-on lifecycle endpoints for updates. See Server-side installation and Client-side installation for details.
Released October 2015
Add-on Avatars (Oct 14, 2015)
Addons may now specify an avatar they wish to be used in chat for all notifications that are sent by their addon. To add an avatar you will need to modify your addon descriptor as follows:
You will then need to reinstall the integration to pick up the changed descriptor. This feature is only currently available in groups with the HipChat Connect alpha/beta enabled.
Released September 2015
Changes to actions and dialogs (Sept 17, 2015)
dialog that you declare in the descriptor.
How do I know if I need to change anything?
- My dialog now opens in a sidebar
- My dialog doesn't open at all
- My dialog layout looks broken: Dialog contents are not rendered with a margin anymore, you will need to specify the desired padding yourself.
- My submit action is called even if I cancel the dialog
Opening a dialog from an action
Split the existing action into a dialog module and an action module, where the action just references the dialog:
Opening a sidebar from an action
The action can now just simply reference the web panel, with no need to define a url or a target type in the action:
Dialog API can now modify any dialog option:
Generally, you should declare the dialogs in the descriptor and just open them by specifying the