Source
'content' params.alert_message + '\n<a href=' + GLPi.getProblemUrl(params.zabbix_url params.trigger_id params.event_id params.event_source) + '>Link to problem in Zabbix</a>'
zabbix_export
version'7.4'
media_types
-
name GLPi
type WEBHOOK
parameters
-
name alert_message
value'{ALERT.MESSAGE}'
-
name alert_subject
value'{ALERT.SUBJECT}'
-
name event_id
value'{EVENT.ID}'
-
name event_nseverity
value'{EVENT.NSEVERITY}'
-
name event_recovery_value
value'{EVENT.RECOVERY.VALUE}'
-
name event_source
value'{EVENT.SOURCE}'
-
name event_update_status
value'{EVENT.UPDATE.STATUS}'
-
name event_value
value'{EVENT.VALUE}'
-
name glpi_problem_id
value'{EVENT.TAGS.__zbx_glpi_problem_id}'
-
name glpi_token
value'<PLACE GLPI TOKEN>'
-
name glpi_url
value'<PLACE GLPI URL>'
-
name trigger_id
value'{TRIGGER.ID}'
-
name zabbix_url
value'{$ZABBIX.URL}'
attempts'1'
script
var GLPi = {
params: {},
setParams: function (params) {
if (typeof params !== 'object') {
return;
}
GLPi.params = params;
},
setProxy: function (HTTPProxy) {
GLPi.HTTPProxy = HTTPProxy;
},
urlCheckFormat: function (url) {
if (typeof url === 'string' && !url.endsWith('/')) {
url += '/';
}
if (url.indexOf('http://') === -1 && url.indexOf('https://') === -1) {
url = 'https://' + url;
}
return url;
},
getAuthToken: function (url, token) {
var response,
request = new HttpRequest();
request.addHeader('Content-Type: application/json');
request.addHeader('Authorization: user_token ' + token);
response = request.get(url + "apirest.php/initSession");
if (response !== null) {
try {
response = JSON.parse(response);
}
catch (error) {
Zabbix.log(4, '[ GLPi Webhook ] Failed to receive authentication token from GLPi.');
response = null;
}