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.
Getting started
To create and install a simple HipChat add-on, please see our Getting Started guide.
Example Projects
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)
Library Features
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.
FAQ
Frequently asked questions, helpers and tips: FAQ