UNPKG

3.01 kBMarkdownView Raw
1# Hubot GitHub Event Announcer
2
3Announces [GitHub webhook events][webhooks]. Gotta catch 'em all!
4
5Currently supports:
6
71. Commit Comment events
81. Create events
91. Delete events
101. Deployment events
111. Fork events
121. Issue Comment events
131. Issues events
141. Ping events
151. Pull Request events
161. Pull Request Review Comment events
171. Push events
181. Watch events
19
20All other events it announces by giving you the JSON supplied by the webhook.
21
22## Installation
23
24Add the package `hubot-github-event-announcer` as a dependency in your Hubot `package.json` file.
25
26```json
27"dependencies": {
28 "hubot-github-event-announcer": "0.7.0"
29}
30```
31
32Run the following command to make sure the module is installed.
33
34```bash
35$ npm install hubot-github-event-announcer
36```
37
38To enable the script, add the `hubot-github-event-announcer` entry to the `external-scripts.json` file (you may need to create this file).
39
40```json
41["hubot-github-event-announcer"]
42```
43
44### Setting up GitHub Event Hooks Using Hubot
45
46In order to easily add GitHub event hooks, Hubot will respond to the command:
47
48> hubot listen for GitHub events on <user>/<repo>
49
50Where `user` is the GitHub user name for the repository and `repo` is the GitHub repository name. When it receives this command, it will attempt to use the GitHub API to add an event hook to the GitHub repository at `https://github.com/user/repo`. It will listen for all GitHub events.
51
52In order for Hubot to add the hooks on your behalf, you must obtain an OAuth token and store it in the environment variable `HUBOT_GITHUB_EVENT_HOOK_TOKEN`. Also, Hubot will attempt to determine the URL where the hook can be delivered from either the `HEROKU_URL` environment variable, if deployed to Heroku, or the `HUBOT_GITHUB_EVENT_BASE_URL` environment variable.
53
54## Configuration
55
56The GitHub Event Announcer responds to the URL `http://hubot.example.com/hubot/github-events?room=someRoom` where:
57
581. `hubot.example.com` is the fully-qualified domain name of your instance of Hubot
591. `someRoom` is the name of the chat room where you want announcements to show up
60
61It also can be configured using the following environment values:
62
63* `HUBOT_GITHUB_EVENT_ANNOUNCE_EXCEPTIONS` — If present, announces exceptions that occur during formatting
64* `HUBOT_GITHUB_EVENT_ANNOUNCE_UNHANDLED` — If present, announces events that it doesn't understand by just dumping the JSON
65* `HUBOT_GITHUB_EVENT_DEFAULT_ROOM` — If no room is specified in the hook, the announcer will send events to this room
66* `HUBOT_GITHUB_EVENT_SECRET` — Currently unused except when creating hooks, but will eventually be used to verify the authenticity of GitHub events
67
68## Copyright
69
70Copyright © 2015 by [Lee Dohm](http://www.lee-dohm.com) and [Lifted Studios](http://www.liftedstudios.com). See [LICENSE][license] for details.
71
72[license]: https://github.com/lifted-studios/hubot-github-event-announcer/blob/master/LICENSE.md
73[webhooks]: https://developer.github.com/v3/activity/events/types/