From d2ba02022c120e3b41807ec94af18937be867e00 Mon Sep 17 00:00:00 2001 From: Lucifer <108731648+shivamvish160@users.noreply.github.com> Date: Fri, 3 Oct 2025 20:04:02 +0530 Subject: [PATCH 1/2] Create README.md --- .../GlideRecord/GlideRecord Query Helper/README.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 Core ServiceNow APIs/GlideRecord/GlideRecord Query Helper/README.md diff --git a/Core ServiceNow APIs/GlideRecord/GlideRecord Query Helper/README.md b/Core ServiceNow APIs/GlideRecord/GlideRecord Query Helper/README.md new file mode 100644 index 0000000000..3a19b6c164 --- /dev/null +++ b/Core ServiceNow APIs/GlideRecord/GlideRecord Query Helper/README.md @@ -0,0 +1,13 @@ +# GlideRecordHelper for ServiceNow + +A simple utility class to help ServiceNow developers query records using GlideRecord with cleaner syntax. + +## How to Use + + +var helper = new GlideRecordHelper('incident'); +var records = helper.getRecords({ priority: 1, active: true }); + +records.forEach(function(record) { + gs.info(record.number); +}); From f2148c7c33db9dec5a1fd87fc67e6690d5eccb38 Mon Sep 17 00:00:00 2001 From: Lucifer <108731648+shivamvish160@users.noreply.github.com> Date: Fri, 3 Oct 2025 20:04:59 +0530 Subject: [PATCH 2/2] Create GlideRecordHelper.js --- .../GlideRecordHelper.js | 36 +++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 Core ServiceNow APIs/GlideRecord/GlideRecord Query Helper/GlideRecordHelper.js diff --git a/Core ServiceNow APIs/GlideRecord/GlideRecord Query Helper/GlideRecordHelper.js b/Core ServiceNow APIs/GlideRecord/GlideRecord Query Helper/GlideRecordHelper.js new file mode 100644 index 0000000000..4c3c03b488 --- /dev/null +++ b/Core ServiceNow APIs/GlideRecord/GlideRecord Query Helper/GlideRecordHelper.js @@ -0,0 +1,36 @@ +/** + * GlideRecordHelper - Simplifies querying records in ServiceNow + * Usage: + * var helper = new GlideRecordHelper('incident'); + * var records = helper.getRecords({ priority: 1, active: true }); + * records.forEach(function(record) { + * gs.info(record.number); + * }); + */ + +var GlideRecordHelper = Class.create(); +GlideRecordHelper.prototype = { + initialize: function(tableName) { + this.tableName = tableName; + }, + + getRecords: function(queryObj) { + var gr = new GlideRecord(this.tableName); + gr.addQuery('sys_id', '!=', ''); // basic filter to avoid empty queries + + for (var key in queryObj) { + if (queryObj.hasOwnProperty(key)) { + gr.addQuery(key, queryObj[key]); + } + } + + gr.query(); + var results = []; + while (gr.next()) { + results.push(gr); + } + return results; + }, + + type: 'GlideRecordHelper' +};