Join the #BuildWithBuildAgent Challenge! Get recognized, earn exclusive swag, and inspire the ServiceNow Community with what you can build using Build Agent.  Join the Challenge.

In flow designer approval script getting only one approver

Community Alums
Not applicable

Hi Team,

 

I am using an approval script in flow designer. it's triggered by only one approver out of 3 users

 

even when I use while loop in the script, it trigger only one user

 

Can you please check my code and help on me on that

 

var approvers = new GlideRecord('sys_user_grmember');
approvers.addEncodedQuery('group=ddcd0e54db2b0e901fd854ebd3961941');
approvers.query();
while(approvers.next()){
//var userss = [];
  // userss = approvers.getValue('group');
   
   return "ApprovesRejectsAnyU["+approvers.getValue('user')+"]";
//return "ApprovesRejectsAnyU["+userss+"]";
}
 
SivanandaReddy_0-1721312177667.png

 

 

Thank you 

Siva

1 ACCEPTED SOLUTION

Sanjeev Kumar1
Kilo Sage

Hi Sivananda,

It would help if you wrote a script like

var approvers = [];
var grSUG = new GlideRecord('sys_user_grmember');
grSUG.addEncodedQuery("group=a715cd759f2002002920bde8132e7018");

grSUG.query();
while (grSUG.next()) {
  
   approvers.push( grSUG.getValue('user'));
}
return approvers;

 

 

View solution in original post

3 REPLIES 3

Sanjeev Kumar1
Kilo Sage

Hi Sivananda,

It would help if you wrote a script like

var approvers = [];
var grSUG = new GlideRecord('sys_user_grmember');
grSUG.addEncodedQuery("group=a715cd759f2002002920bde8132e7018");

grSUG.query();
while (grSUG.next()) {
  
   approvers.push( grSUG.getValue('user'));
}
return approvers;

 

 

Community Alums
Not applicable

Hi @Sanjeev Kumar1 

 

Thank you for your quick response and provide a solution 

 

But I have changed small correction in return .It works 

 

var approvers = [];
var grSUG = new GlideRecord('sys_user_grmember');
grSUG.addEncodedQuery("group=ddcd0e54db2b0e901fd854ebd3961941");

grSUG.query();
while (grSUG.next()) {
 
   approvers.push( grSUG.getValue('user'));
}
return "ApprovesRejectsAnyU["+approvers+"]";

Jordan Vignoni
Tera Guru

I think you are on the right track.  Perhaps, you can try something like this:

var approvers = [];

var groupMembers = new GlideRecord('sys_user_grmember');

groupMembers.addQuery('group', ‘ddcd0e54db2b0e901fd854ebd3961941');

groupMembers.query();

while (groupMembers.next()) {

     approvers.push(groupMembers.getValue('user'));

}

 

However, I think a more simple way could be using the condition builder:

 

Ask_For_Approval_Condition.png