returning null for problem coordinator

Deepika54
Tera Contributor

Hello Experts,

 

From a specific group, i am trying to find out the uses who have the problem cordinator role. My script is always returning undefined. Can anyone please help

 
var arr=[];
var groupMembers = new GlideRecord('sys_user_grmember');
    groupMembers.addQuery('group', '514b79b39335ee109fa4d2fbb9373c6a');
    groupMembers.query();
 
    while (groupMembers.next()) {
 
        var user = groupMembers.user;
        // Check if the user has problem_coordinator role
        var hasRole = new GlideRecord('sys_user_has_role');
        hasRole.addQuery('user', user).addCondition('role.name','problem_coordinator')
        hasRole.query();
 
        if (hasRole.hasNext()) {
 
var gr=new GlideRecord('sys_user');
if(gr.get(hasRole.user.toString()))
{
 
arr.push(gr.email.toString());
 
            
 
 
 
}
}
}
            gs.print(arr);
1 ACCEPTED SOLUTION

Chaitanya ILCR
Kilo Patron
var arr = [];
var users = [];
var groupMembers = new GlideRecord('sys_user_grmember');
groupMembers.addQuery('group', '514b79b39335ee109fa4d2fbb9373c6a');
groupMembers.query();
while (groupMembers.next()) {
    users.push(groupMembers.getValue('user'));
}

var hasRole = new GlideRecord('sys_user_has_role');
hasRole.addEncodedQuery('userIN' + users.join() + '^role.name=problem_coordinator');
hasRole.query();
while (hasRole.next()) {
    if (hasRole.user.email)
        arr.push(hasRole.user.email);
}
gs.print(arr.toString())

 

Hi @Deepika54 

try this script

 

 

Please mark my answer as helpful/correct if it resolves your query.

Regards,
Chaitanya

View solution in original post

1 REPLY 1

Chaitanya ILCR
Kilo Patron
var arr = [];
var users = [];
var groupMembers = new GlideRecord('sys_user_grmember');
groupMembers.addQuery('group', '514b79b39335ee109fa4d2fbb9373c6a');
groupMembers.query();
while (groupMembers.next()) {
    users.push(groupMembers.getValue('user'));
}

var hasRole = new GlideRecord('sys_user_has_role');
hasRole.addEncodedQuery('userIN' + users.join() + '^role.name=problem_coordinator');
hasRole.query();
while (hasRole.next()) {
    if (hasRole.user.email)
        arr.push(hasRole.user.email);
}
gs.print(arr.toString())

 

Hi @Deepika54 

try this script

 

 

Please mark my answer as helpful/correct if it resolves your query.

Regards,
Chaitanya