Over three years ago, @pjhyett launched GitHub Services with just four services: Campfire, IRC, Lighthouse, and Twitter. Since then, 124 other people contributed to a total of 68 third-party services. We and many others depend on these services to power our workflow and ship awesome features.

There have been two main requests for Hooks: an API to manage the Hooks, and support for other GitHub events besides just push.

Today, we’re announcing two APIs for Hooks and eleven new possible events, so you can build tighter integrations around GitHub.

The new events are:
  • issues – Any time an Issue is opened or closed.
  • issue_comment – Any time an Issue is commented on.
  • commit_comment – Any time a Commit is commented on.
  • pull_request – Any time a Pull Request is opened, closed, or synchronized (updated due to a new push in the branch that the pull request is tracking).
  • gollum – Any time a Wiki page is updated.
  • watch – Any time a User watches the Repository.
  • download – Any time a Download is added to the Repository.
  • fork – Any time a Repository is forked.
  • fork_apply – Any time a patch is applied to the Repository from the Fork Queue.
  • member – Any time a User is added as a collaborator to a non-Organization Repository.
  • public – Any time a Repository changes from private to public.

In addition to an HTTP Hook API that’s consistent with the rest of API v3, we also support a PubSubHubbub endpoint to manage Hooks. The core Web hook already accepts hooks from all twelve events. The Campfire and IRC hooks support the new pull request and issue events as well. These changes are available in the API only, so eager developers can take a crack at them. Expect a future update to the Service Hook admin in the near future once these changes have been proven in battle.