Join the #BuildWithBuildAgent Challenge! Get recognized, earn exclusive swag, and inspire the ServiceNow Community with what you can build using Build Agent.  Join the Challenge.

ITIL

Ram012
Tera Contributor

Create two group called ITIL_dev and ITIL_manager whenever there is update in the ITIL_dev group manager field that particular user
should be added to the ITIL_manager group ?

 

Any idea how to build this example scenaior help me.

1 REPLY 1

HIROSHI SATOH
Mega Sage

The script works as follows:

  1. The business rule should be set to run after the update on the sys_user_group table.
  2. It will check if the group being updated is ITIL_dev.
  3. If the manager field is updated, it will add the manager to the ITIL_manager group.

 

(function executeRule(current, previous /*null when async*/) {

    // Check if the updated group is 'ITIL_dev'
    if (current.name == 'ITIL_dev' && current.manager != previous.manager) {
        
        // Get the 'ITIL_manager' group
        var itilManagerGroup = new GlideRecord('sys_user_group');
        itilManagerGroup.addQuery('name', 'ITIL_manager');
        itilManagerGroup.query();
        
        if (itilManagerGroup.next()) {
            // Check if the new manager is already in the ITIL_manager group
            var groupMember = new GlideRecord('sys_user_grmember');
            groupMember.addQuery('user', current.manager);
            groupMember.addQuery('group', itilManagerGroup.sys_id);
            groupMember.query();
            
            // If the manager is not in the group, add them
            if (!groupMember.next()) {
                var newGroupMember = new GlideRecord('sys_user_grmember');
                newGroupMember.initialize();
                newGroupMember.user = current.manager;
                newGroupMember.group = itilManagerGroup.sys_id;
                newGroupMember.insert();
            }
        }
    }

})(current, previous);