From 24662227cdb043f0dd9563a9f317c6ee83c598dd Mon Sep 17 00:00:00 2001 From: Gwang Il Kang Date: Fri, 8 Dec 2023 12:36:55 +0900 Subject: [PATCH] etc: update error class Signed-off-by: Gwangil Kang --- src/plugin/error.py | 4 +++- src/plugin/main.py | 1 + src/plugin/manager/event_manager/base.py | 2 +- src/plugin/manager/event_manager/standard_manager.py | 10 +++------- 4 files changed, 8 insertions(+), 9 deletions(-) diff --git a/src/plugin/error.py b/src/plugin/error.py index 7fbd733..299a9e0 100644 --- a/src/plugin/error.py +++ b/src/plugin/error.py @@ -1,13 +1,14 @@ from spaceone.core.error import * -class ERROR_INVALID_WEBHOOK_TYPE(ERROR_BASE): +class ERROR_INVALID_WEBHOOK_TYPE(ERROR_INVALID_PARAMETER_TYPE): _message = 'Wrong Webhook Type(webhook_type= {webhook_type})' class ERROR_CONVERT_TITLE(ERROR_BASE): _message = 'Failed to convert alert title' + class ERROR_REQUIRED_FIELDS(ERROR_BASE): _message = 'Required field is missing(field= {field})' @@ -18,3 +19,4 @@ class ERROR_PARSE_EVENT(ERROR_BASE): class ERROR_CONVERT_DATA_TYPE(ERROR_BASE): _message = 'Failed to convert data type' + diff --git a/src/plugin/main.py b/src/plugin/main.py index 25575cc..b033749 100644 --- a/src/plugin/main.py +++ b/src/plugin/main.py @@ -11,6 +11,7 @@ app = WebhookPluginServer() + @app.route('Webhook.init') def webhook_init(params: dict) -> dict: """ init plugin by options diff --git a/src/plugin/manager/event_manager/base.py b/src/plugin/manager/event_manager/base.py index 266d40e..45a2249 100644 --- a/src/plugin/manager/event_manager/base.py +++ b/src/plugin/manager/event_manager/base.py @@ -49,4 +49,4 @@ def get_parse_manager_by_webhook_type(cls, webhook_type): for subclass in cls.__subclasses__(): if subclass.webhook_type == webhook_type: return subclass() - raise ERROR_INVALID_WEBHOOK_TYPE(webhook_type=webhook_type) \ No newline at end of file + raise ERROR_INVALID_WEBHOOK_TYPE(webhook_type=webhook_type) diff --git a/src/plugin/manager/event_manager/standard_manager.py b/src/plugin/manager/event_manager/standard_manager.py index db4a418..51ee9e8 100644 --- a/src/plugin/manager/event_manager/standard_manager.py +++ b/src/plugin/manager/event_manager/standard_manager.py @@ -9,12 +9,10 @@ from plugin.manager.event_manager import ParseManager from plugin.error import * - _LOGGER = logging.getLogger("spaceone") class StandardManager(ParseManager): - webhook_type = "STANDARD" def parse(self, raw_data: dict) -> dict: @@ -29,14 +27,13 @@ def parse(self, raw_data: dict) -> dict: _LOGGER.debug(f"[StandardManager] data => {raw_data}") event_dict = { "event_key": self.generate_event_key(raw_data), - "event_type": self.get_event_type(raw_data.get("state", "")), - "severity": self.get_severity(raw_data.get("state", "")), + "event_type": self.get_event_type(raw_data.get("status", "")), + "severity": self.get_severity(raw_data.get("status", "")), "title": self.remove_alert_code_from_title(raw_data.get("title")), "rule": raw_data.get("groupKey", ""), "image_url": self._get_value_from_alerts(raw_data, "panelURL"), "resource": {}, "description": raw_data.get("message", ""), - #"occurred_at": utils.datetime_to_iso8601(parser.parse(self._get_value_from_alerts(raw_data, "startsAt"))), "occurred_at": self._convert_to_iso8601(self._get_value_from_alerts(raw_data, "startsAt")), "additional_info": self.get_additional_info(raw_data) } @@ -124,8 +121,7 @@ def _get_value_from_alerts(self, raw_data: dict, key: str) -> Union[dict, dateti @staticmethod def _get_alerts_cnt(raw_data: dict) -> int: - alerts = raw_data.get("alerts", "") - return len(alerts) + return len(raw_data.get("alerts", "")) @staticmethod def _convert_to_iso8601(raw_time: str) -> Union[str, None]: