Incident Table

Community Alums
Not applicable

Hi team, please  help me on this requirement
If Logged in user is Admin show all group members in assigned to field of incident, else if user has "task_user" role show only users with "task_user" role, else if logged in user have only 'itil' role show only itil users

3 REPLIES 3

ranepratiks
Tera Expert

 Hello sravani0408,

To implement the logic in ServiceNow for controlling visibility of users in the "Assigned to" field of an Incident form based on the logged-in user's roles, you can use a Reference Qualifier on the "Assigned to" field.

bommireddyr
Tera Contributor

You can achieve this using a Reference Qualifier on the Assigned to field (assigned_to) in the Incident

table

Go to Incident table.

Open the Assigned to field.

Set the Reference Qualifier to Advanced

Ehab Pilloor
Mega Sage

Hi @Community Alums,

 

You need to create a script include and use it in your Advanced Reference qualifier.

 

Script Include:

Name: GetAssignableUsersByRole
Client Callable: false
Active: true

var GetAssignableUsersByRole = Class.create();
GetAssignableUsersByRole.prototype = {
    initialize: function() {},

    getUsers: function() {
        var user = gs.getUser();
        var roleToFilter = '';

        if (user.hasRole('admin')) {
            return ''; // No filter — show all users
        }

        if (user.hasRole('task_user')) {
            roleToFilter = 'task_user';
        } else if (user.hasRole('itil')) {
            roleToFilter = 'itil';
        }

        if (!roleToFilter) {
            return 'sys_idIN'; // No users visible
        }

        var userList = [];
        var gr = new GlideRecord('sys_user_has_role');
        gr.addQuery('role.name', roleToFilter);
        gr.query();
        while (gr.next()) {
            userList.push(gr.user.toString());
        }

        return 'sys_idIN' + userList.join(',');
    },

    type: 'GetAssignableUsersByRole'
};

 

Advanced Reference Qualifier:

javascript:GetAssignableUsersByRole.getUsers()

 

Regards,

Ehab Pilloor