From 60f334df5234b653bea4fab245c235abf2cd3564 Mon Sep 17 00:00:00 2001 From: Michael Friedrich Date: Thu, 12 Jan 2017 11:43:22 +0100 Subject: [PATCH] Fix notify/sticky parameter handling in 'acknowledge-problem' API action refs #13939 --- doc/12-icinga2-api.md | 6 +++--- lib/icinga/apiactions.cpp | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/doc/12-icinga2-api.md b/doc/12-icinga2-api.md index db10da0f1..ffc7df04f 100644 --- a/doc/12-icinga2-api.md +++ b/doc/12-icinga2-api.md @@ -905,9 +905,9 @@ Send a `POST` request to the URL endpoint `/v1/actions/acknowledge-problem`. ----------|-----------|-------------- author | string | **Required.** Name of the author, may be empty. comment | string | **Required.** Comment text, may be empty. - expiry | timestamp | **Optional.** If set, the acknowledgement will vanish after this timestamp. - sticky | boolean | **Optional.** If `true`, the default, the acknowledgement will remain until the service or host fully recovers. - notify | boolean | **Optional.** If `true`, a notification will be sent out to contacts to indicate this problem has been acknowledged. The default is false. + expiry | timestamp | **Optional.** Whether the acknowledgement will be removed at the timestamp. + sticky | boolean | **Optional.** Whether the acknowledgement will be set until the service or host fully recovers. Defaults to `false`. + notify | boolean | **Optional.** Whether a notification of the `Acknowledgement` type will be sent. Defaults to `false`. In addition to these parameters a [filter](12-icinga2-api.md#icinga2-api-filters) must be provided. The valid types for this action are `Host` and `Service`. diff --git a/lib/icinga/apiactions.cpp b/lib/icinga/apiactions.cpp index c05183355..d4211357b 100644 --- a/lib/icinga/apiactions.cpp +++ b/lib/icinga/apiactions.cpp @@ -196,10 +196,10 @@ Dictionary::Ptr ApiActions::AcknowledgeProblem(const ConfigObject::Ptr& object, bool notify = false; double timestamp = 0.0; - if (params->Contains("sticky")) + if (params->Contains("sticky") && HttpUtility::GetLastParameter(params, "sticky")) sticky = AcknowledgementSticky; if (params->Contains("notify")) - notify = true; + notify = HttpUtility::GetLastParameter(params, "notify"); if (params->Contains("expiry")) timestamp = HttpUtility::GetLastParameter(params, "expiry"); else