isMemberOf not working in Workflow

Vishwa Pandya19
Mega Sage

Hello,

I want to check if the RITM opened by field user is a part of "HR Intergration Group" or not. 

I am using this if script in workflow, but it is showing error .

answer = ifScript();

function ifScript() {
var name = current.opened_by;
var grp = "05bc6e8fdb14401025c85a35dc9619b0";  //HR integration group sys_id
if (name.isMemberOf(grp)) {
return 'yes'; 
}
return 'no'; 
}

The error is as follows:

Cannot find function isMemberOf in object.

Please help.

1 ACCEPTED SOLUTION

Use this sample script to design your script , it will work

 

var user = 'admin';
var group = "Hardware";
if (gs.getUser().getUserByID(user).isMemberOf(group)){
gs.log( gr.user_name + " is a member of " + group);
}

View solution in original post

11 REPLIES 11

Use this sample script to design your script , it will work

 

var user = 'admin';
var group = "Hardware";
if (gs.getUser().getUserByID(user).isMemberOf(group)){
gs.log( gr.user_name + " is a member of " + group);
}

Kartik Sethi
Tera Guru
Tera Guru

Hi @Vishwa Pandya 

 

Try this:

var userGr = current.opened_by.getRefRecord();
var newUser = gs.getUser().getUserByID(userGr.user_name))
if(newUser.isMemberOf('<Group NAME goes here>')) {
	//Your required code goes here
	//Remark: It is not recommended to Hardcode sys_ids
}

Also, check ServiceNow link on using Get a user object methods.

 

Please mark my answer as correct if this solves your issues!

If it helped you in any way then please mark helpful!

 

Thanks and regards,

Kartik

Ankur Bawiskar
Tera Patron
Tera Patron

@Vishwa Pandya 

this will work

answer = ifScript();

function ifScript() {
	var name = current.opened_by;
	var grp = "05bc6e8fdb14401025c85a35dc9619b0";  //HR integration group sys_id
	if (gs.getUser().getUserByID(name).isMemberOf(grp)) {
		return 'yes'; 
	}
	return 'no'; 
}

Regards
Ankur

Regards,
Ankur
Certified Technical Architect  ||  9x ServiceNow MVP  ||  ServiceNow Community Leader

Vishwa Pandya19
Mega Sage

I created a if script using Glide Record() and it is now working. 

var gr = new GlideRecord('sys_user_grmember'); 
gr.addQuery('user', current.opened_by); 
gr.addQuery('group', '05bc6e8fdb14401025c85a35dc9619b0'); of group.
gr.query();

if(gr.next()){
var answer = "yes";
ifScript();
gs.log(current.number+"User is Member of Group!");
}
else{
answer = "no";
gs.log(current.number+"User is Not a Member of Group!");
}

function ifScript(){
if(answer == 'yes'){
return 'yes';
}
else{
return 'no';
}
}

Hi @Vishwa Pandya 

Is the issue still not resolved?

 

If not then try the code provided by me earlier in your ifScript function:

var userGr = current.opened_by.getRefRecord();
var newUser = gs.getUser().getUserByID(userGr.user_name))
if(newUser.isMemberOf('<Group NAME goes here>')) {
	//Your required code goes here
	//Remark: It is not recommended to Hardcode sys_ids
}

 

Please mark my answer as correct if this solves your issues!

If it helped you in any way then please mark helpful!

 

Thanks and regards,

Kartik