Item diagnostic report

  • Release version: Zurich
  • Updated July 31, 2025
  • 2 minutes to read
  • Summarize
    Summarized using AI
    This content was generated using new OpenAI-powered functionality. Results are provided on an as is basis and are not guaranteed to be accurate or complete.

    Summary of Item diagnostic report

    The Item Diagnostic Report helps ServiceNow customers evaluate the health of catalog items by identifying violations of ServiceNow recommended practices. It provides a health score for each item, where a lower score (with 0 being ideal) indicates fewer violations and better item performance and behavior. The report details specific diagnostic results, including rules violated, the offending records, and counts of violations.

    Show full answer Show less

    Key Features

    • Health Score: Measures the overall compliance of a catalog item with recommended practices, reflecting item quality and potential issues.
    • Diagnostic Entries: Lists violations by rule, affected record, and count, helping prioritize fixes.
    • Weighted Rules: Different rules have varying importance, e.g., duplicate variables pose higher risk compared to AJAX usage delays.
    • Default Diagnostic Rules: Includes checks such as:
      • checkUserCriteriaUsage: Ensures entitlements are used instead of user criteria.
      • checkBalancedContainers: Verifies container start and end variables are balanced.
      • checkDuplicateVariables: Detects variables with duplicate names in items or variable sets.
      • checkDOMManipulation: Flags client scripts manipulating the DOM, which can cause upgrade issues.
      • checkLookupVariableRowCount: Highlights lookup variables running on large tables that may slow load times.
      • checkAJAX: Identifies AJAX calls in client scripts, noting that even asynchronous calls can cause UI delays.
      • checkSelectBoxUnique: Detects select box variables set to show only unique entries.
      • checkOrderGuideRuleBaseCount: Flags order guides with many active rule bases, which may impact performance.
      • checkFormatterVariablesUsage: Checks for use of Macro, Macro with label, and UI Page variable types.

    Practical Use

    ServiceNow customers can run the Item Diagnostic Results report to identify catalog items that do not follow recommended design practices. By addressing the identified violations, customers can improve catalog efficiency, reduce user issues, and maintain expected behavior during upgrades and usage.

    For a catalog item data and configuration, you can identify possible violations from the ServiceNow recommended practices.

    The item diagnostic report includes a score that measures the health of the item, and a list of diagnostic result entries. These entries consist of a rule, a document (record that violates the rule), and a count (the number of violations in the record).

    Correct violations for best performance and to maintain expected behavior.

    The lower the score, the better (0 is ideal). A higher score means that an item has more violations from the ServiceNow recommended practices. Each rule has a different weight and level of importance. For example, a violation of duplicate variables is more likely to result in user issues. An AJAX usage violation is less likely to cause issues since the result could simply cause a delay in the UI.

    Default diagnostic rules

    These diagnostic rules are designed according to ServiceNow recommended practices.

    Table 1. Default diagnostic rules
    Rule Description
    checkUserCriteriaUsage Identifies if the item is using entitlements instead of user criteria
    checkBalancedContainers Checks if the Container Start and Container End variables are balanced.
    checkDuplicateVariables Identifies variables with the same name associated to a catalog item (or an associated variable set).
    checkDOMManipulation Identifies any DOM violation in catalog client scripts. The DOM is not guaranteed to be the same between releases and can affect catalog client scripts during upgrades. Therefore, it is not recommended for customers to do any kind of DOM manipulation.

    You can view detailed information for each client script by clicking the information icon.

    checkLookupVariableRowCount Checks if the Lookup variable is run on tables with many records as it can lead to slower load times.
    checkAJAX Identifies all AJAX calls in catalog client scripts because, although AJAX calls in catalog client scripts are allowed, they must be asynchronous. All AJAX calls are listed because even asynchronous calls can cause some delay.

    You can view detailed information for each client script by clicking the information icon.

    checkSelectBoxUnique Identifies Select Box type variables that have the attribute enabled to show only unique entries in the select box.
    checkOrderGuideRuleBaseCount Checks for high number of active rule bases in an order guide as higher number of rule bases can lead to slower load times
    checkFormatterVariablesUsage Checks if the item has the following variable types:
    • Macro
    • Macro with label
    • UI Page

    For information on the variable availability across various channels, see Variable support in various channels.