What is this?
A Node.js and Koa.js-based library for building HipChat Connect add-ons.
While this is still a pre-1.0 release, the API has mostly stabilized. Future versions may still include backward-incompatible changes, but the risk of that now is relatively low.
To create and install a simple HipChat add-on, please see our Getting Started guide.
The example illustrated in the Getting Started guide comes from the following example project:
See these additional add-ons for more complete examples:
- Sassy (demonstrates multiple /commands)
- Karma (demonstrates group based data storage independent of installation type)
- Hearsay (demonstrates a configuration UI)
- Mailroom (demonstrates a complex third party webhook integration)
- Untappd (demonstrates integrations with multiple third party services)
This library provides help with many aspects of add-on development, such as:
- Creating an App - including support for creating multiple addons in a single Koa app
- Multi-tenant registration and data partitioning
- High-level conveniences for mounting webhook handlers
- Configuration of commonly required Koa middleware
- A REST API client with built-in OAuth2 token acquisition and refresh
- JWT authentication validation, refresh, and token generation for web UI routes
In these documentation pages, we use the terms
ctx and 'Koa context' interchangeably to refer to the context object that contains both standard Koa request/response data and objects and this library's request objects and services.
Frequently asked questions, helpers and tips: FAQ
(4 years ago)