https://github.com/67p/hubot-incoming-webhook
Accept incoming Webhooks to write messages to a room/channel
https://github.com/67p/hubot-incoming-webhook
hubot hubot-script hubot-scripts kosmos npm-module webhooks
Last synced: about 1 month ago
JSON representation
Accept incoming Webhooks to write messages to a room/channel
- Host: GitHub
- URL: https://github.com/67p/hubot-incoming-webhook
- Owner: 67P
- Created: 2016-02-20T17:59:12.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2019-04-16T15:12:46.000Z (about 6 years ago)
- Last Synced: 2025-03-27T15:51:52.583Z (about 2 months ago)
- Topics: hubot, hubot-script, hubot-scripts, kosmos, npm-module, webhooks
- Language: JavaScript
- Homepage:
- Size: 55.7 KB
- Stars: 9
- Watchers: 8
- Forks: 8
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
[](https://www.npmjs.com/package/hubot-incoming-webhook)
[](http://travis-ci.org/67P/hubot-incoming-webhook)# Hubot Incoming Webhook
A (very simple) hubot script for sending messages to a channel/room via HTTP
POST requests to your bot.## Installation
Install script package in your bot's repository:
npm install --save hubot-incoming-webhook
Add to `external_scripts.json`:
```json
[
"hubot-incoming-webhook"
]
```Set the `WEBHOOK_TOKEN` environment variable to a secret string of your choice
when running the bot. It will be used in the incoming webhook URLs.## Usage
### Generic hooks
The generic Webhook allows you to send arbitrary messages to a room of your
choice, by POSTing a simple JSON body to the webhook URL.The URL is constructed as follows: `http(s)://:/incoming/`
| Key | Value |
| --- | ----- |
| room | (string) The room/channel you want to post to. |
| message | (string/array) The message you want to post. Can be an array for multiple lines. |Example:
```sh
curl -X POST -H "Content-Type: application/json" \
-d '{"room": "#kosmos", "message": "ohai"}' \
http://127.0.0.1:8080/incoming/your-secret-token
```### UptimeRobot
This hook allows you to receive hooks from UptimeRobot, and announce your
account's uptime status changes/events in a room of your choice.The URL is constructed as follows: `http(s)://:/incoming/uptimerobot/`
In [UptimeRobot's settings](https://uptimerobot.com/dashboard#mySettings),
add the following webhook as an alert contact (you must set the room that you
want the bot to send messages to):```
http(s)://:/incoming/uptimerobot/[email protected]&
```Don't forget the trailing ampersand, this is required so UptimeRobot can add
their query strings to the request for the monitor ID, status, and so on.Enable the webhook Alert Contact for each monitor. You can perform a
[bulk action](https://uptimerobot.com/dashboard#bulkActions) to do it for all
at once.## Configuration
| Key | Description |
| --- | ----------- |
| `WEBHOOK_TOKEN` | A string for building your secret webhook URLs## Adapter-specific config/hints
### IRC
Include the hash character for IRC channels in the `room` value.
### Mattermost (tested with hubot-matteruser)
Find the unique ID of the channel (not the display name) and use it for the `room` value.
## Development
### Tests
The tests are inside of the `test` folder. To run them:
npm test