Source
xxxxxxxxxx
if (typeof params_redmine.close_status_id === 'string' && params_redmine.close_status_id.trim() !== '' && !parseInt(params_redmine.close_status_id, 10))
zabbix_export
version'7.0'
media_types
-
name Redmine
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_source
value'{EVENT.SOURCE}'
-
name event_update_message
value'{EVENT.UPDATE.MESSAGE}'
-
name event_update_status
value'{EVENT.UPDATE.STATUS}'
-
name event_value
value'{EVENT.VALUE}'
-
name redmine_access_key
value'<PUT YOUR ACCESS KEY>'
-
name redmine_issue_key
value'{EVENT.TAGS.__zbx_redmine_issue_id}'
-
name redmine_project
value'<PUT YOUR PROJECT ID OR NAME>'
-
name redmine_tracker_id
value'<PUT YOUR TRACKER ID>'
-
name redmine_url
value'<PUT YOUR REDMINE URL>'
-
name trigger_id
value'{TRIGGER.ID}'
-
name zabbix_url
value'{$ZABBIX.URL}'
script
var Redmine = {
params: {},
setParams: function (params) {
if (typeof params !== 'object') {
return;
}
Redmine.params = params;
if (typeof Redmine.params.url === 'string') {
if (!Redmine.params.url.endsWith('/')) {
Redmine.params.url += '/';
}
}
},
addCustomFields: function (data, fields) {
if (typeof fields === 'object' && Object.keys(fields).length) {
data.issue.custom_fields = [];
Object.keys(fields)
.forEach(function (field) {
var field_value = fields[field];
if (field_value !== undefined) {
data.issue.custom_fields.push({ id: field, value: field_value });
}
});
}
return data;
},
request: function (method, query, data) {
['url', 'access_key'].forEach(function (field) {
if (typeof Redmine.params !== 'object' || typeof Redmine.params[field] === 'undefined'
|| Redmine.params[field] === '' ) {
throw 'Required param is not set: "' + field + '".';