Skip to content

Conversation

@shivamvish160
Copy link
Contributor

@shivamvish160 shivamvish160 commented Oct 15, 2025

PR Description:

Recursive GlideRecord Fetcher

Overview

This snippet provides a reusable logic to recursively fetch child records from a parent record in ServiceNow. It is useful for traversing hierarchical relationships such as tasks, categories, CMDB CI relationships, or any table with a parent-child structure.

The logic prevents infinite loops by tracking visited records and supports nesting of children for structured output.


Use Case

  • Fetch all subtasks under a parent task.
  • Traverse CMDB CI relationships recursively.
  • Build hierarchical views of organizational units or categories.

Parameters

Parameter Description
tableName Name of the table to query (e.g., task, cmdb_ci, custom_table)
parentField Field that links to the parent record (e.g., parent, parent_id)
parentSysId Sys ID of the root parent record to start traversal

Example Usage

var fetcher = new RecursiveFetcher('task', 'parent');
var hierarchy = fetcher.fetchChildren('abc123sysid'); // Replace with actual parent sys_id
gs.info(JSON.stringify(hierarchy));

Pull Request Checklist

Overview

  • Put an x inside of the square brackets to check each item.
  • I have read and understood the CONTRIBUTING.md guidelines
  • My pull request has a descriptive title that accurately reflects the changes and the description has been filled in above.
  • I've included only files relevant to the changes described in the PR title and description
  • I've created a new branch in my forked repository for this contribution

Code Quality

  • My code is relevant to ServiceNow developers
  • My code snippets expand meaningfully on official ServiceNow documentation (if applicable)
  • I've disclosed use of ES2021 features (if applicable)
  • I've tested my code snippets in a ServiceNow environment (where possible)

Repository Structure Compliance

  • I've placed my code snippet(s) in one of the required top-level categories:
    • Core ServiceNow APIs/
    • Server-Side Components/
    • Client-Side Components/
    • Modern Development/
    • Integration/
    • Specialized Areas/
  • I've used appropriate sub-categories within the top-level categories
  • Each code snippet has its own folder with a descriptive name

Documentation

  • I've included a README.md file for each code snippet
  • The README.md includes:
    • Description of the code snippet functionality
    • Usage instructions or examples
    • Any prerequisites or dependencies
    • (Optional) Screenshots or diagrams if helpful

Restrictions

  • My PR does not include XML exports of ServiceNow records
  • My PR does not contain sensitive information (passwords, API keys, tokens)
  • My PR does not include changes that fall outside the described scope

@bird-03 bird-03 self-assigned this Oct 15, 2025
@bird-03
Copy link
Contributor

bird-03 commented Oct 15, 2025

@shivamvish160
Script and logic contributed looks good!

Helpful to merge if you can add a descripton to this PR

@shivamvish160
Copy link
Contributor Author

@shivamvish160 Script and logic contributed looks good!

Helpful to merge if you can add a descripton to this PR

Hi @bird-03 Thanks for pointing that out
I have updated the description please review

@bird-03 bird-03 merged commit b47ca16 into ServiceNowDevProgram:main Oct 15, 2025
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants