Skip to content

Conversation

@trimbakeshmadhan-109
Copy link
Contributor

PR Description:

GRC Policy Retirement Guard with Control Objective Check

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

Automatically create a problem record from incident volume
Use case: Automatically create a problem record if a specific Configuration Item (CI) is associated with more than a certain number of incidents within a defined timeframe. 
Code snippet
This code can be placed in a Scheduled Script Execution or an After Insert Business Rule to check new incidents
Identify the oldest active incident for each assignment group. This helps managers focus on long-running tickets that may require special attention.
This example searches a JSON document for all developers listed under the specified path.
Identify inactive users who still have unresolved incidents. This helps with offboarding processes and ensures incidents aren't left unattended.
This Business Rule runs 'before' a record is deleted from the 'sn_compliance_policy' table.
 
Its purpose is to prevent a policy from being deleted if it is currently linked to any active controls.

This helps maintain data integrity and prevents the creation of orphaned or invalidated compliance records.
This Business Rule runs 'before' a record is updated on the 'sn_compliance_policy' table.
    Its purpose is to prevent a policy from being retired if it is currently linked to any active controls.
    This enforces a proper decommissioning process, ensuring that controls are retired
    before the policy that governs them, thereby preventing compliance gaps.
    The condition for this rule would be: 'State' changes to 'Retired'.
Copy link
Contributor Author

@trimbakeshmadhan-109 trimbakeshmadhan-109 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewd PR

2Files

@trimbakeshmadhan-109 trimbakeshmadhan-109 marked this pull request as ready for review October 28, 2025 21:06
@kmxo
Copy link
Contributor

kmxo commented Oct 29, 2025

Sounds good to me.

@kmxo kmxo merged commit fc3a3b6 into ServiceNowDevProgram:main Oct 29, 2025
1 check passed
@kmxo kmxo self-assigned this Oct 29, 2025
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