Event Field Mapping not updating Assignment Group on Alert
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
4 hours ago - last edited 4 hours ago
Hi,
I am using Event Field Mapping to update Alert fields.
I am able to:
a. Fetch Batch Job name from Event table additional_info field.
b. Query cmdb_ci_batch_job successfully
c. Read assignment group (change_control) from the Batch Job CI(cmdb_ci_batch_job)
d. I cam see correct assignment group sys_id in logs
However, the Assignment Group is NOT getting updated on the Alert record when set using Event Field Mapping, while Severity updates correctly.
I confirmed the same logic works using a Business Rule and Background Script.
Is there any limitation or specific requirement to update assignment_group from Event Field Mapping? Do we need a separate mapping, Run after binding or Alert Rule instead?
Can someone please help on me on this?
Note: Event field mapping is triggering and system logs are visible when I untick “Run After Binding”, but when I tick “Run After Binding” the event field mapping is not triggering.
(function eventFieldMappingScript(eventGr, origEventSysId, ciSysId, fieldMappingRuleName) {
try {
gs.info("EFM AG STARTED: " + fieldMappingRuleName);
var addInfoStr = eventGr.getValue("additional_info");
if (!addInfoStr) {
gs.warn("EFM AG: additional_info empty");
return "";
}
var addInfo;
try {
addInfo = JSON.parse(addInfoStr);
} catch (e) {
gs.error("efm AG Invalid JSON in additional_info");
return "";
}
var batchJobName = addInfo.name || addInfo.batch_job;
if (!batchJobName) {
gs.warn("efm AG Batch Job name not found");
return "";
}
var jobGR = new GlideRecord("cmdb_ci_batch_job");
jobGR.addQuery("name", batchJobName);
jobGR.addQuery("operational_status", "1");
jobGR.query();
if (!jobGR.next()) {
gs.warn("efm AG Batch Job CI not found: " + batchJobName);
return "";
}
var assignmentGroup = jobGR.getValue("change_control");
if (!assignmentGroup) {
gs.warn("efm AG Assignment group empty on CI");
return "";
}
gs.info("efm AG Returning assignment group = " + assignmentGroup);
return assignmentGroup;
} catch (e) {
gs.error("efm AG ERROR (" + fieldMappingRuleName + "): " + e);
return "";
}
})(eventGr, origEventSysId, ciSysId, fieldMappingRuleName);
Thanks in advance.