Create an identification rule for a non-CMDB table
- UpdatedJan 30, 2025
- 6 minutes to read
- Yokohama
- Configuration Management
To use Identification and Reconciliation Engine (IRE) features with supported non-CMDB tables, you must first create identification rules that uniquely identify the table records. Each non-CMDB table can be associated with a single identification rule.
Before you begin
Role required: itil has read access, itil_admin (on top of itil) has full access
About this task
Each identification rule consists of a single identifier for the table, one or more identifier entries, and one or more related entries.
- Regular identifier entry
- Lets you select attributes from the associated identifier table.
- Lookup identifier entry
- Lets you select attributes from any related table (Lookup table), other than the currently selected table.
- Hybrid identifier entry
- Lets you select attributes from both the currently main selected table, and from another table (Lookup table).
For non-CMDB tables, only independent identification rules are supported.
Procedure
- Navigate to All > Identification/Reconciliation > CI Identifiers.
- In the Identifiers list view, click New.
-
Fill out the Identifier form.
Field Description Name Name of CI identifier. Applies to Supported non-CMDB table. Independent Must be checked to indicate that the identifier can identify a record independently of other records. - Click Submit.
- In the Identifiers list view, locate and open the identifier that you just created.
- On the Identifier form, select the Identifier Entries tab and then click New.
-
Fill out the Identifier Entry form.
Field Description Identifier Preset with the name of the table of the associated identifier. Search on table Preset with the label of the table of the associated identifier.
To create:- A regular identifier entry: Set to the identifier table and select Criterion attributes from that same table.
- A lookup identifier entry: Set to another table (lookup table) and select Criterion attributes from that lookup table.
- A Hybrid identifier entry: Set to another
table (lookup table) and then do the following
steps.
- Select Criterion attributes from the lookup table.
- Add Hybrid Entry CI Criterion Attributes from the current table using background scripts, after saving the rule. For more details, see the 'What to do next' section at the end of this task.
A lookup table should have a reference to the associated identifier table.
Criterion attributes Set of attributes that uniquely identify the record. Attributes can belong to the current class, or to a parent class. Note: It's possible to add reference fields as a criterion attribute. However, such fields might not always be effective:- Reference fields store sys_ids that point to a record in another table, and thus is considered a weak criterion attribute (in terms of uniqueness) for the current table.
- The system detects and then replaces invalid values in a reference field with 'Unknown'. For example, an invalid Model ID value is replaced with the value 'Unknown'. Also, if several CIs end up having that same reference field set to 'Unknown', then these CIs become duplicate CIs.
Priority Priority of applying the identifier entry. Rules with lower priority numbers are given higher priority. Identifier entries of identical priorities are applied randomly. You can keep gaps between the priority numbers, so you can assign the unused priority numbers to new entries without modifying the existing priority order.
Active Specifies whether the identifier entry is active. At least one identifier entry in an identification rule must be active for the rule to apply. Enforce exact count match For lookup identification, match a record only on exact lookup records count match. When enforced, all lookup items for a record in the payload must have matching records in the lookup table that reference the same record:- Only matches records that have all the lookup items from the input payload referencing the record in the table.
- If there are multiple matches, selects the oldest created record as the final match.
When not enforced, one lookup item for a record in the payload matching a record in the lookup table, is sufficient to consider a match:- Matches any record that has at least one of the lookup items from the input payload referencing the record in the table.
- If there are multiple matches, selects the records with the max number of lookup items from the input payload referencing the record in the table.
- If there are still multiple matches, selects the oldest created record as the final match.
Allow null attribute When selected, then if at least one criterion attribute isn't null, attempt matching with an identifier entry even if there are criterion attributes that are null.
Otherwise, all criterion attributes must have values to attempt matching with an identifier entry.
Allow fallback to parent's rules Allows the identification rules of the record's parent table to be used if a match isn't found for this identification rule. Applies only for dependent identification rules. Optional condition
A filter to narrow the set of records that will be searched for a matching record.
Available only if the glide.identification_engine.enable_identifier_optional_condition system property is set to true (false by default). In the base system, identifier entries of various classes are pre-configured with advanced options conditions. All these pre-configured conditions in regular identifier entries will automatically apply when you set this property to true. Therefore, to prevent unexpected behavior, review those predefined conditions in regular identifier entries before setting this property to true.
For more details about this property, see Properties for Identification and Reconciliation.
Note: If criterion attributes have only two attributes and sys_class_name is one of them (for example [name, sys_class_name], [ip_address, sys_class_name]), then the other attribute can't be NULL, even if Allow null attribute is enabled. This restriction is due to sys_class_name being considered a special system matching attribute. - Click Submit.
- On the Identifier form, select the Related Entries tab and then click New.
-
Fill out the Related Entry form.
Table 1. Related Entry form Field Description Identifier Preset with the identifier that this related entry is associated with. Active Check box that specifies that the related entry is active. Related table A related table (lookup table) that references the record that is being matched. Referenced field A referenced field in Related table with a reference to the associated identifier table. Criterion attributes The set of attributes to uniquely identify the related item. Attributes can belong to the current class, or to a parent class. Note: It's possible to add reference fields as a criterion attribute. However, such fields might not always be effective:- Reference fields store sys_ids that point to a record in another table, and thus is considered a weak criterion attribute (in terms of uniqueness) for the current table.
- The system detects and then replaces invalid values in a reference field with 'Unknown'. For example, an invalid Model ID value is replaced with the value 'Unknown'. Also, if several CIs end up having that same reference field set to 'Unknown', then these CIs become duplicate CIs.
Click the lock icon to view, add, or remove attributes from the identification rule.
Allow null attribute If at least one criterion attribute in the related table isn't null, allow to attempt matching with an identifier entry even if there are criterion attributes which are null. Priority Priority of the related entry for the specified Related table. Rules with lower priority numbers are given higher priority while matching a related item for a specific related table. Related entries for the specified related table with identical priorities are applied randomly. You can keep gaps between the priority numbers, so you can assign the unused priority numbers to new entries without modifying the existing priority order.
Optional condition Filter conditions to narrow the set of records that will be searched for a matching related item. - Click Submit.
What to do next
To add criterion attributes to a Hybrid Entry CI Criterion Attributes field in a hybrid identifier entry, instead of using the Identifier Entry form, you must use background scripts. After saving the identification rule, navigate to System Definitions > Scripts - Background, and then enter a script that adds the attributes and click Run script.
var gr = new GlideRecord('cmdb_identifier_entry');
// get the identifier entry you want to update
gr.get('<identifier_entry_sys_id>');
// set the attributes you want in the hybrid rule in a comma separated list
// for example: 'name,serial_number'
gr. hybrid_entry_ci_criterion_attributes='<column_name_1>,<column_name_2>,<etc.>';
gr.update();
This process requires the admin role.