GitHub Apps (formerly Integrations) General Release

A month ago, we moved GitHub Integrations into pre-release, and today it's available for general release. As this new functionality is the preferred way to extend GitHub, we've renamed it GitHub Apps.

There are a couple of new features and some breaking changes:

Dynamic rate limiting for installations

All GitHub Apps start with a rate limit of 5000 requests per hour. To facilitate growth we have added a dynamic rate limit for installations: organization installations with more than 20 users receive another 50 requests per hour for each user. Installations that have more than 20 repositories receive another 50 requests per hour for each repository. You can check the returned HTTP headers of any API request to see your installation's current rate limit status:

Status: 200 OK
X-RateLimit-Limit: 5000
X-RateLimit-Remaining: 4999
X-RateLimit-Reset: 1372700873

More on rate-limiting.

Repo admins can install a GitHub App

Previously only organization admins could install a GitHub App. Now, anyone who can admin a repository can install a GitHub App on it.

Breaking changes

With the name change to GitHub Apps, there are some changes to webhook events, payloads and API responses.

The Integrations API has been deprecated in favor of the GitHub Apps API.

The integration_installation and integration_installation_repositories event names, used in the Early Access period, have been deprecated in favor of installation and installation_repositories. All GitHub Apps receive these events to their webhook by default, so all applications are affected by this change.

Webhook payloads and API responses will include an app_id key, to replace the now deprecated integration_id key.

If your application uses any of the following APIs, then you are affected by this change:

The deprecated Integrations API routes, events and responses will be removed on November 22nd 2017. We advise you to update your application as soon as possible.

How can I try it?

Anyone can register a GitHub App on GitHub via Settings > Developer settings > GitHub Apps, and manage an existing GitHub App from the same place.

More information on getting started can be found in our developer documentation.

While the feature is now available in General Release, the relevant API functionality remains in a developer preview. You'll need to provide the following custom media type in the Accept header:

application/vnd.github.machine-man-preview+json

Give us your feedback

Come talk to us, in the Platform forum.