Source
xxxxxxxxxx
"text": '\u2733 ' + severity_emoji[params.event_nseverity] + ' ' + params.alert_subject + '\n\n' + params.alert_message + '\n' + params.trigger_description + '\n\n' + getZabbixProblemLink(params)
zabbix_export
version'7.0'
media_types
-
name Line
type WEBHOOK
parameters
-
name alert_message
value'{ALERT.MESSAGE}'
-
name alert_subject
value'{ALERT.SUBJECT}'
-
name bot_token
value'<PLACE BOT TOKEN>'
-
name event_id
value'{EVENT.ID}'
-
name event_nseverity
value'{EVENT.NSEVERITY}'
-
name event_source
value'{EVENT.SOURCE}'
-
name event_update_status
value'{EVENT.UPDATE.STATUS}'
-
name event_value
value'{EVENT.VALUE}'
-
name send_to
value'{ALERT.SENDTO}'
-
name trigger_description
value'{TRIGGER.DESCRIPTION}'
-
name trigger_id
value'{TRIGGER.ID}'
-
name zabbix_url
value'{$ZABBIX.URL}'
script
function sendMessage(to, messages, params) {
var response,
request = new HttpRequest();
if (typeof params.HTTPProxy === 'string' && params.HTTPProxy.trim() !== '') {
request.setProxy(params.HTTPProxy);
}
request.addHeader('Content-Type: application/json');
request.addHeader('Authorization: Bearer ' + params.bot_token);
response = request.post('https://api.line.me/v2/bot/message/push', JSON.stringify({
"to": to,
"messages": messages
}));
if (request.getStatus() !== 200) {
throw response;
}
}
function validateParams(params) {
if (typeof params.bot_token !== 'string' || params.bot_token.trim() === '') {
throw 'Field "bot_token" cannot be empty';
}
if ([0, 1, 2, 3].indexOf(parseInt(params.event_source)) === -1) {
throw 'Incorrect "event_source" parameter given: "' + params.event_source + '".\nMust be 0-3.';
}
if (params.event_source !== '0') {
params.event_nseverity = '0';
params.event_severity = 'Not classified';
params.event_update_status = '0';
}
if (params.event_source === '1' || params.event_source === '2') {
params.event_value = '1';
}
if ([0, 1, 2, 3, 4, 5].indexOf(parseInt(params.event_nseverity)) === -1) {
throw 'Incorrect "event_nseverity" parameter given: ' + params.event_nseverity + '\nMust be 0-5.';
}
if (params.event_update_status !== '0' && params.event_update_status !== '1') {
throw 'Incorrect "event_update_status" parameter given: ' + params.event_update_status + '\nMust be 0 or 1.';
}