From 2606887fb39e4c98ac24a894df623f95ce2a052b Mon Sep 17 00:00:00 2001 From: Lucifer <108731648+shivamvish160@users.noreply.github.com> Date: Fri, 3 Oct 2025 21:27:14 +0530 Subject: [PATCH 1/2] Create README.md --- .../GlideRecord Query Helper/README.md | 42 +++++++++++++++++++ 1 file changed, 42 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..901eb7b8b0 --- /dev/null +++ b/Core ServiceNow APIs/GlideRecord/GlideRecord Query Helper/README.md @@ -0,0 +1,42 @@ +# 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); +}); + +input: + +var helper = new GlideRecordHelper('incident'); +var records = helper.getRecords({ priority: 1, active: true }); + +records.forEach(function(record) { +gs.info(record.number); +}); + +Output: + +x_snc_hack4good_0: INC0000055 +x_snc_hack4good_0: INC0000055 +x_snc_hack4good_0: INC0000055 +x_snc_hack4good_0: INC0000055 +x_snc_hack4good_0: INC0000055 +x_snc_hack4good_0: INC0000055 +x_snc_hack4good_0: INC0000055 +x_snc_hack4good_0: INC0000055 +x_snc_hack4good_0: INC0000055 +x_snc_hack4good_0: INC0000055 +x_snc_hack4good_0: INC0000055 +x_snc_hack4good_0: INC0000055 +x_snc_hack4good_0: INC0000055 +x_snc_hack4good_0: INC0000055 +x_snc_hack4good_0: INC0000055 +x_snc_hack4good_0: INC0000055 +x_snc_hack4good_0: INC0000055 From 2a091a4c8fba402cf842b812b03c21e632a6a90d Mon Sep 17 00:00:00 2001 From: Lucifer <108731648+shivamvish160@users.noreply.github.com> Date: Fri, 3 Oct 2025 21:27:52 +0530 Subject: [PATCH 2/2] Create GlideRecordHelper.js --- .../GlideRecordHelper.js | 31 +++++++++++++++++++ 1 file changed, 31 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..d37a196c0e --- /dev/null +++ b/Core ServiceNow APIs/GlideRecord/GlideRecord Query Helper/GlideRecordHelper.js @@ -0,0 +1,31 @@ +var GlideRecordHelper = Class.create(); +GlideRecordHelper.prototype = { + initialize: function(tableName) { + if (!tableName) { + throw new Error("Table name is required."); + } + this.tableName = tableName; + }, + + getRecords: function(queryObj) { + var gr = new GlideRecord(this.tableName); + if (!gr.isValid()) { + throw new Error("Invalid table name: " + this.tableName); + } + + 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' +};