Event Field Mapping not updating Assignment Group on Alert

Abdulrajak Sha1
Tera Contributor

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.

 

 

AbdulrajakSha1_1-1766864543721.png

AbdulrajakSha1_0-1766865187844.png

 

AbdulrajakSha1_1-1766865220863.png

 

(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.

0 REPLIES 0