Find your people. Pick a challenge. Ship something real. The CreatorCon Hackathon is coming to the Community Pavilion for one epic night. Every skill level, every role welcome. Join us on May 5th and learn more here.

VaranAwesomenow
Mega Sage

In order to prevent accidently querying ServiceNow using a malformed encoded query implement following

1. Create a system property glide.invalid_query.returns_no_rows with value as true.

2. Add validation in your scripts to check if encoded query is valid using isValidEncodedQuery()

 

Video :

 

Example script : 

try {
var counter = 0;
var grServer = new GlideRecord('cmdb_ci_server');
var enQuery = 'sys_class_name=cmdb_ci_server'; // class is server
var isValidQuery = grServer.isValidEncodedQuery(enQuery);
if (isValidQuery) {
grServer.addEncodedQuery(enQuery);
//grServer.setLimit(1);
grServer.query();
while (grServer.next()) {
grServer.setValue('short_description', "Iam a server");
grServer.setWorkflow();
//grServer.update();
counter++;
}
} else {
throw "Encoded query is invalid. Please check and update the script";
}
gs.print('Records updated = ' + counter);
}
catch(ex) {
var message = ex + '';
gs.print('caught exception=' + message);
}

 

 

References : https://www.w3schools.com/js/js_errors.asp

https://developer.servicenow.com/dev.do#!/reference/api/tokyo/server/no-namespace/c_GlideRecordScope...

 

Version history
Last update:
‎11-14-2022 08:55 PM
Updated by:
Contributors