-
Notifications
You must be signed in to change notification settings - Fork 0
/
slack-notify.js
98 lines (79 loc) · 2.09 KB
/
slack-notify.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
// Import module:
import SlackNotify from 'slack-notify';
const MY_SLACK_WEBHOOK_URL = 'https://hooks.slack.com/services/<hookURL>';
const slack = SlackNotify(MY_SLACK_WEBHOOK_URL);
// Example sending just text, using the Slack-provided configuration:
slack.send('Hello!')
.then(() => {
console.log('done!');
}).catch((err) => {
console.error(err);
});
// The Slack-provided configuration can be overridden:
slack.send({
channel: '#myCustomChannelName',
icon_url: 'http://example.com/my-icon.png',
text: 'Here is my notification',
unfurl_links: 1,
username: 'Jimmy'
});
// Roll your own notification type:
var statLog = slack.extend({
channel: '#statistics',
icon_emoji: ':computer:',
username: 'Statistics'
});
statLog({
text: 'Current server statistics',
fields: {
'CPU usage': '7.51%',
'Memory usage': '254mb'
}
});
// Promises are supported:
slack.send('Hello!').then(() => {
console.log('Done!');
}).catch((err) => {
console.error('API error:', err);
})
// Three pre-configured methods are provided:
// Posts to #bugs by default:
slack.bug('Something broke!');
// Posts to #alerts by default:
slack.success('Something happened correctly!');
slack.alert('Something important!');
// Send custom fields which are nicely displayed by the Slack client:
slack.alert({
text: 'Current server stats',
fields: {
'CPU usage': '7.51%',
'Memory usage': '254mb'
}
});
// The `fields` object is custom shorthand for the `attachments` array, which is also supported.
slack.alert({
text: 'Current server stats',
attachments: [
{
fallback: 'Required Fallback String',
fields: [
{ title: 'CPU usage', value: '7.51%', short: true },
{ title: 'Memory usage', value: '254mb', short: true }
]
}
]
});
// Set slack message color
slack.alert({
text: 'Current server stats',
attachments: [
{
fallback: 'Required Fallback String',
color: '#FF0000',
fields: [
{ title: 'CPU usage', value: '90%', short: true },
{ title: 'Memory usage', value: '254mb', short: true }
]
}
]
});