diff --git a/doc/12-icinga2-api.md b/doc/12-icinga2-api.md index 8709438d16d..2b982c9aa4f 100644 --- a/doc/12-icinga2-api.md +++ b/doc/12-icinga2-api.md @@ -1333,6 +1333,7 @@ Example for all downtime events: timestamp | Timestamp | Unix timestamp when the event happened. host | String | [Host](09-object-types.md#objecttype-host) name. service | String | [Service](09-object-types.md#objecttype-service) name. Optional if this is a host notification. + command | String | [NotificationCommand](09-object-types.md#objecttype-notificationcommand) name. users | Array | List of notified [user](09-object-types.md#objecttype-user) names. notification\_type | String | [$notification.type$](03-monitoring-basics.md#notification-runtime-macros) runtime macro value. author | String | [$notification.author$](03-monitoring-basics.md#notification-runtime-macros) runtime macro value. diff --git a/lib/icinga/apievents.cpp b/lib/icinga/apievents.cpp index 3097280ad08..55c8a541b3b 100644 --- a/lib/icinga/apievents.cpp +++ b/lib/icinga/apievents.cpp @@ -19,6 +19,7 @@ #include "icinga/apievents.hpp" #include "icinga/service.hpp" +#include "icinga/notificationcommand.hpp" #include "remote/eventqueue.hpp" #include "base/initialize.hpp" #include "base/serializer.hpp" @@ -129,6 +130,11 @@ void ApiEvents::NotificationSentToAllUsersHandler(const Notification::Ptr& notif if (service) result->Set("service", service->GetShortName()); + NotificationCommand::Ptr command = notification->GetCommand(); + + if (command) + result->Set("command", command->GetName()); + ArrayData userNames; for (const User::Ptr& user : users) {