Skip to content

Conversation

@mandeepkaran
Copy link
Contributor

PR Description:

Summary

This fix script normalizes all case variants of the u_environment field on the change_request table, converting values like prod, PROD, PrOd, etc., into a consistent "Prod" value.

Key Improvements

  • Uses ServiceNow’s GlideFilter API with setCaseSensitive(false) to perform case-insensitive matching, improving code readability and maintainability.
  • Enforces ACLs with setEnforceSecurity(true) ensuring secure data access.
  • Avoids complex regex or multiple if conditions by leveraging declarative filter logic consistent with platform UI filtering.
  • Improves data quality and consistency across change requests, enabling better reporting and automation.

How It Works

The script queries all change requests where u_environment is not null, applies the GlideFilter with a case-insensitive condition (u_environment=prod), and updates any non-standard casing to "Prod". Informative logs are output for traceability.

Benefits

  • Cleaner and easier-to-maintain code.
  • Secure filtering respecting ACLs.
  • Consistent with ServiceNow platform filtering conventions.
  • Easily extensible for other normalization needs.

This PR helps improve data hygiene and sets a pattern for future case-insensitive normalization tasks using GlideFilter.

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

If you need HTML beautified alert box, use this.
UI Page to render the custom alert
These are example ScreenShots for reference
Example Screenshots
…Info.png to Catalog Client Script/CustomAlert/Screenshots/ExampleScreenShotCustomAlertInfo.png
…ertSuccess.png to Catalog Client Script/CustomAlert/Screenshots/ExampleScreenShotForCustomAlertSuccess.png
…rtDanger.png to Catalog Client Script/CustomAlert/Screenshots/ExampleScrenShotForCustomAlertDanger.png
Notes for installation or Implementation
Business rule to add work notes on record if notes for tag entries are allowed.
It is very hard to track who added the tag to the record and when, this will help to manage to understand who has added what tags on record.
Business rule to add work notes on record if notes for tag removal are allowed.
It is very hard to track who removed the tag to the record and when, this will help to manage to understand who has removed what tags on record.
Notes for the implementation
This reverts commit 064f919.
…tion Using getError() and setError() directory
@bird-03 bird-03 self-assigned this Oct 11, 2025
@bird-03 bird-03 added the question Further information is requested label Oct 11, 2025
@mandeepkaran
Copy link
Contributor Author

Hi @bird-03
I can see label added as question but question I can see in thread/comment section. let me know if there is any.

@bird-03
Copy link
Contributor

bird-03 commented Oct 11, 2025

Hi @mandeepkaran

Thanks for your contribution! we truly appriciate your effort & intent to participate.

Though your contribution looks good and correct with right use of GlideFilter API to update the environment field, It appears that this pull request seems to be copied from a community answer or mostly AI generated code without proper attribution.

Contributions should be original, and any referenced work should be properly attributed.

Would you mind updating the script with more creative use case submission and update this script & PR with quality contribution. We will be Happy to merge and accept your contribution

Closing this for now. Once you make additional changes, feel free to re-open this Pull Request or create a new one.

@bird-03 bird-03 closed this Oct 11, 2025
@mandeepkaran
Copy link
Contributor Author

mandeepkaran commented Oct 11, 2025

@bird-03
I can understand I used AI to generate text and code for better alignment, let me update it again and submit. Thank you for the feedback.
I can ensure solution is not copied from community.

@mandeepkaran
Copy link
Contributor Author

@bird-03
Submitted this with suggested edits
#2042

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

question Further information is requested

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants