Giter Club home page Giter Club logo

hubot-incoming-webhook's Introduction

npm Build Status

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:

[
  "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)://<host>:<port>/incoming/<your-secret-token>

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:

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)://<host>:<port>/incoming/uptimerobot/<your-secret-token>

In UptimeRobot's settings, add the following webhook as an alert contact (you must set the room that you want the bot to send messages to):

http(s)://<host>:<port>/incoming/uptimerobot/<your-secret-token>[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 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

hubot-incoming-webhook's People

Contributors

gregkare avatar raucao avatar zchef2k avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.