From: Michael Friedrich Date: Wed, 15 Jan 2014 20:04:01 +0000 (+0100) Subject: Additional documentation fixes for NotificationCommand example. X-Git-Tag: v0.0.7~45 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=c38c81ac3f5813048d658916c2643d2e9047d5dd;p=icinga2 Additional documentation fixes for NotificationCommand example. Fixes #5478 --- diff --git a/doc/3.04-notifications.md b/doc/3.04-notifications.md index 6d2333f26..0a453d983 100644 --- a/doc/3.04-notifications.md +++ b/doc/3.04-notifications.md @@ -56,35 +56,29 @@ your environment. There are various macros available at runtime execution of the `NotificationCommand`. The example below may or may not fit your needs. - object NotificationCommand "mail-notification" inherits "plugin-notification-command" { - command = [ - "/usr/bin/printf", - "\"%b\"", - {{{\"***** Icinga ***** - - Notification Type: $NOTIFICATIONTYPE$ - - Service: $SERVICEDESC$ - Host: $HOSTALIAS$ - Address: $HOSTADDRESS$ - State: $SERVICESTATE$ - - Date/Time: $LONGDATETIME$ - - Additional Info: $SERVICEOUTPUT$ - - Comment: [$NOTIFICATIONAUTHORNAME$] $NOTIFICATIONCOMMENT$\"}}}, - "/bin/mail", - "-s", - "\"$NOTIFICATIONTYPE$ - $HOSTDISPLAYNAME$ - $SERVICEDISPLAYNAME$ is $SERVICESTATE$\"", - "$USEREMAIL$" + object NotificationCommand "mail-service-notification" inherits "plugin-notification-command" { + command = [ (IcingaSysconfDir + "/icinga2/scripts/mail-notification.sh") ], + + export_macros = [ + "NOTIFICATIONTYPE", + "SERVICEDESC", + "HOSTALIAS", + "HOSTADDRESS", + "SERVICESTATE", + "LONGDATETIME", + "SERVICEOUTPUT", + "NOTIFICATIONAUTHORNAME", + "NOTIFICATIONCOMMENT", + "HOSTDISPLAYNAME", + "SERVICEDISPLAYNAME", + "USEREMAIL" ] } -> **Note** -> -> Alternatively you can use the `export_macros` attributes to export all required -> macros into the environment. +The command attribute in the `mail-service-notification` command refers to the +shell script installed into `/etc/icinga2/scripts/mail-notification.sh`. +The macros specified in the `export_macros` array are exported as environment +variables and can be used in the notification script. You can add all shared attributes to a `Notification` template which is inherited to the defined notifications. That way you'll save duplicated attributes in each diff --git a/doc/4.3-object-types.md b/doc/4.3-object-types.md index cdf06e71d..9afc49a85 100644 --- a/doc/4.3-object-types.md +++ b/doc/4.3-object-types.md @@ -418,24 +418,21 @@ A notification command definition. Example: object NotificationCommand "mail-service-notification" inherits "plugin-notification-command" { - command = [ - "/opt/bin/send-mail-notification", - "$USEREMAIL$", - "$NOTIFICATIONTYPE$ - $HOSTNAME$ - $SERVICEDESC$ - $SERVICESTATE$", - {{{***** Icinga ***** - - Notification Type: $NOTIFICATIONTYPE$ - - Service: $SERVICEDESC$ - Host: $HOSTALIAS$ - Address: $HOSTADDRESS$ - State: $SERVICESTATE$ - - Date/Time: $LONGDATETIME$ - - Additional Info: $SERVICEOUTPUT$ - - Comment: [$NOTIFICATIONAUTHORNAME$] $NOTIFICATIONCOMMENT$}}} + command = [ (IcingaSysconfDir + "/icinga2/scripts/mail-notification.sh") ], + + export_macros = [ + "NOTIFICATIONTYPE", + "SERVICEDESC", + "HOSTALIAS", + "HOSTADDRESS", + "SERVICESTATE", + "LONGDATETIME", + "SERVICEOUTPUT", + "NOTIFICATIONAUTHORNAME", + "NOTIFICATIONCOMMENT", + "HOSTDISPLAYNAME", + "SERVICEDISPLAYNAME", + "USEREMAIL" ] }