Slack Webhook message posting for Good process monitor
good-slack
is a good reporter implementation to send hapi server events to
Slack using Incoming Webhooks.
Creates a new GoodSlack object with the following arguments:
config
- config objecturl
- a string with the Webhook URL[slack]
- an object of slack overridable parameters (See Incoming Webhooks)[format]
- MomentJS format string. Defaults to 'YYMMDD/HHmmss.SSS'.[host]
- a string with the server hostname. - Defaults to actual hostname.[basicLogEvent]
- a boolean to set the style oflog
events. When set to true,log
events will be sent as text instead of attachments. Defaults tofalse
.
Below is an example, based on the hapi plugin documentation examples, of using good-slack
and good-squeeze
together in a Hapi server to log all internal error messages to a slack channel.
const Hapi = require('@hapi/hapi');
const start = async function () {
const server = Hapi.server();
await server.register({
plugin: require('@hapi/good'),
options: {
reporters: {
slack: [{
module: '@hapi/good-squeeze',
name: 'Squeeze',
args: [{ error: '*' }]
}, {
module: 'good-slack',
args: [{ url: 'https://hook.slack.com/services/UNIQUE_SLACK_CHANNEL_URL' }]
}]
}
}
})
};
- This version (v4) is compatible with
@hapi/[email protected]
, in which hapi moved to scoped package names. - Use v3 for
[email protected]
, which introduced major changes on reporter interface. - Use v2 for legacy support of
[email protected]
.