Built something you're proud of? Tell the story. A quick G2 review of App Engine or Build Agent helps other developers see what's possible on ServiceNow. Share your experience.

Business rule is running twice with async and update?

Santhosh15
Tera Guru

Hello all,

 

When I am using current.update() in my code, the business rule is running twice for assigning ticket to some other team.

Please help on this issue.

 

Code Below:

=================================================

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

// Add your code here
var httpStatus = current.u_http_status_code;

if (httpStatus == 201) {
gs.log("inside 201 block" + httpStatus);
var seconds = 90;
var second = parseInt(seconds, 10) * 1000;
var start = parseInt(new Date().getTime()) + second;
while (start > parseInt(new Date().getTime())) {
// do nothing
}
gs.log("outside the waitblock while loop response w");
if (current.sys_updated_by != "svc.awx") {
current.assignment_group = "72fb418d13c863004d8e5ce12244b008"; //Unix
current.update();
}

} else {
current.assignment_group = "e6fb018d13c863004d8e5ce12244b0dc"; //ServiceNow Team
current.update();
}

})(current, previous);

16 REPLIES 16

What is your trigger condition?

Hi @Santhosh15 ,

yes because we are setting current.setWorkflow(false); or you need to use before business rule to ignore the current.update();

If it helps please click Accept as Solution/hit the Thumb Icon.
ServiceNow Community MVP 2024.
Thanks,
Pavankumar