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);