summaryrefslogtreecommitdiffstats
path: root/src/zabbix_server/expression.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/zabbix_server/expression.c')
-rw-r--r--src/zabbix_server/expression.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/zabbix_server/expression.c b/src/zabbix_server/expression.c
index 5cae3c78..a61be4cd 100644
--- a/src/zabbix_server/expression.c
+++ b/src/zabbix_server/expression.c
@@ -570,6 +570,8 @@ int evaluate(int *result,char *exp, char *error, int maxerrlen)
#define MVAR_TRIGGER_STATUS "{TRIGGER.STATUS}"
#define MVAR_TRIGGER_STATUS_OLD "{STATUS}"
#define MVAR_TRIGGER_SEVERITY "{TRIGGER.SEVERITY}"
+#define MVAR_TRIGGER_ID "{TRIGGER.ID}"
+#define MVAR_EVENT_ID "{EVENT.ID}"
#define STR_UNKNOWN_VARIAVLE "*UNKNOWN*"
@@ -756,6 +758,22 @@ void substitute_simple_macros(DB_EVENT *event, DB_ACTION *action, char *data, in
else
zbx_snprintf(replace_to, sizeof(replace_to), "ON");
}
+ else if(macro_type & (MACRO_TYPE_MESSAGE_SUBJECT | MACRO_TYPE_MESSAGE_BODY) &&
+ strncmp(pr, MVAR_TRIGGER_ID, strlen(MVAR_TRIGGER_ID)) == 0)
+ {
+ /* NOTE: if you make changes for this bloc, don't forgot MVAR_TRIGGER_STATUS block */
+ var_len = strlen(MVAR_TRIGGER_ID);
+
+ zbx_snprintf(replace_to, sizeof(replace_to), "%d", event->triggerid);
+ }
+ else if(macro_type & (MACRO_TYPE_MESSAGE_SUBJECT | MACRO_TYPE_MESSAGE_BODY) &&
+ strncmp(pr, MVAR_EVENT_ID, strlen(MVAR_EVENT_ID)) == 0)
+ {
+ /* NOTE: if you make changes for this bloc, don't forgot MVAR_TRIGGER_STATUS block */
+ var_len = strlen(MVAR_EVENT_ID);
+
+ zbx_snprintf(replace_to, sizeof(replace_to), "%d", event->eventid);
+ }
else if(macro_type & (MACRO_TYPE_MESSAGE_SUBJECT | MACRO_TYPE_MESSAGE_BODY) &&
strncmp(pr, MVAR_TRIGGER_SEVERITY, strlen(MVAR_TRIGGER_SEVERITY)) == 0)
{