We're reclaiming inactive PDIs to keep them available for active builders. Learn what's changing, who's affected, and how to protect your work. Read More

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