Slack Webhooks Handler
Manage incoming webhooks to send messages to Slack
Installation
# npm
npm install slack-webhooks-handler
# yarn
yarn add slack-webhooks-handler
Options
- url(required): Your Slack custom integration (Incoming Webhook) URL
- botName(optional): The name of the bot that will appear when sending messages. Do this if you want/need to override the one you set on your custom integration.
{
url: 'https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX',
botName: 'MyAPP-CI'
}
Usage
All you need to do is prepare a POST endpoint in your API that will be used when configuring the webhook in your preferred version control hosting (Github, Gitlab, Bitbucket, etc.)
At the moment you have the main dispatcher (Dispatcher) and a factory function.
You can use the dispatcher alone to send a simple message (just text) or a custom one following the attachments structure, or you can rely on the factory function (currently only supports Github's release and issues events, more on the way...)
const { Dispatcher, factory } = require('slack-webhooks-handler')
const dispatcher = new Dispatcher(options);
const hook = factory('github');
const { attachments } = hook(payload);
dispatcher.withAttachments(attachments);
(async () => {
try {
await dispatcher.send();
}
catch (error) {
console.log(error);
}
})();
For more info about event payloads take a look at: