def update_case_status(self, event): mi_caseid = event['case']['id'] try: hive_caseid = self.get_hive_case_id(mi_caseid) updated_case = Case() keys_to_del = updated_case.__dict__ print(keys_to_del) for key in list(keys_to_del): delattr(updated_case, key) updated_case.status = case_status_mappings[event['case'] ['status'].lower()] if updated_case.status != 'Resolved': pass else: updated_case.resolutionStatus = case_resolution_mappings[ event['case']['status'].lower()] updated_case.impactStatus = 'WithImpact' updated_case.id = hive_caseid response = self.api.update_case(updated_case) log.info("case updated status: %s", response.status_code) log.info("response body: %s", response.text) self.update_case_tasks(event) except Exception: log.error("An error occurred while updating a case : %s", mi_caseid, exc_info=True)
def update_case_priority(self, event): mi_caseid = event['case']['id'] try: hive_caseid = self.get_hive_case_id(mi_caseid) response_dict = self.api.get_case(hive_caseid).json() print(json.dumps(response_dict, indent=4, sort_keys=True)) new_severity = case_priority_mappings[event['case'] ['priority'].lower()] # updated_case = Case(**response_dict) updated_case = Case(severity=new_severity) keys_to_del = updated_case.__dict__ print(keys_to_del) for key in list(keys_to_del): delattr(updated_case, key) updated_case.severity = new_severity updated_case.id = hive_caseid response = self.api.update_case(updated_case) log.info("case updated status: {}".format(response.status_code)) log.info("response body: {}".format(response.text)) self.update_case_tasks(event) except Exception: log.error("An error occurred while updating a case : %s", mi_caseid, exc_info=True)