can an Advanced mapping using script update severity of an event in a javascript?

sxwang
Giga Contributor

I developed a javascript to parse event from Dynatrace with complex and lengthy json-format, The script can parse events and pull out fields interested, like displayID, Node, status, title, and severityLevel, and script can update snow event fields like node, message_key, description, but it looks like update severity of em_event table doesn't work though there is no any run time error captured. I am wondering if SNOW all a javascript for even field mapping update severity field with the events from Dynatrace? I can see the value of severityLevel is pulled out from the events and shows in the log.  Here is the part of my code do do this operation, please shed light on it for me.

// Handle default values for all fields
            var displayId = addInfoObj.displayId || "Unknown Display ID";
            var status = addInfoObj.status || "Unknown Status";
            var title = addInfoObj.title || "Untitled Event";
            var severity= addInfoObj.severityLevel || "warning";
gs.info(" metadata - displayId: " + displayId + ", status: " + status + "severityLevel: " + severity);
......
 
 if (existingEvent.next()) {
                // Event exists, update it
                gs.info(" existing event, updating it...");
                existingEvent.setValue('node', nodesString);
                existingEvent.setValue('type', typesString);
                existingEvent.setValue('severity', typesString);
                existingEvent.setValue('description', title + " event status => " + status + "severityLevel: " + severity);
                existingEvent.update();
                gs.info(" event updated successfully");
            } else {
                // No existing event, insert a new one
                gs.info(" existing event found, creating new one...");
                eventGr.setValue('node', nodesString);
                eventGr.setValue('type', typesString);
                eventGr.setValue('severity', typesString);
                eventGr.setValue('message_key', displayId);
                eventGr.setValue('description', title + " event status => " + status + "severityLevel: " + severity);

                // Insert the new event record
                if (eventGr.isValid()) {
                    eventGr.insert();
                    gs.info(" event record created for status: " + status);
                } else {
                    gs.error(" to insert event: invalid record state");
                }
            }
0 REPLIES 0