How to insert approvals using a script

sk59
Tera Expert

Hi All,

I would like to insert an approval using a BR. Please let me know how to achieve this.

I have a field ABC(glide_list), I want to add the approvers in this field as approvers when a change is completed.

 

Thanks in Advance

1 ACCEPTED SOLUTION

Hi,


Sorry below one is the corrected script:

 

(function executeRule(current, previous /*null when async*/) {

// Add your code here
var app = current.u_groups;//Where groups are selected
gs.addInfoMessage(app);
var spl = app.split(',');
var len = spl.length;

for(var i=0;i<len;i++)
{
gs.addInfoMessage(i);
var m = new GlideRecord('sysapproval_group');
m.initialize();
m.parent= current.sys_id;
m.assignment_group = spl[i];
m.approval = 'requested';
m.insert();
}
})(current, previous);

 

Thanks,

Ashutosh 

 

Don't forget to mark it as correct

View solution in original post

23 REPLIES 23

vinothkumar
Tera Guru

Hi

You can achieve, something similar. Please note, I haven't tested this. 

 

var grouplist = [];
var group = current.variables.ABC.toString();
grouplist2 = group.split(',');
for (var i = 0; i < grouplist2.length; i++)
{
var m = new GlideRecord('sysapproval_approver');
m.initialize();
m.document_id = current.sys_id;
m.approver = grouplist2[i];
m.state = 'requested';
m.insert();
}

}

I tried the above script but din't work

Since it Is a field, you can remove variables from the line. Have you put any logs

 

var group = current.variables.ABC.toString(); to

 

var group = current.ABC.toString();

Ashutosh Munot1
Kilo Patron
Kilo Patron

HI,

 

This is the below script which will work:

 

var grouplist = [];
var group = current.variables.ABC.toString();
grouplist2 = group.split(',');
for (var i = 0; i < grouplist2.length; i++)
{
var m = new GlideRecord('sysapproval_approver');
m.initialize();
m.sysapproval= current.sys_id;
m.approver = grouplist2[i];
m.state = 'requested';
m.insert();
}

}

 

Thanks,
Ashutosh Munot