Required Fields for CMDB Health
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
yesterday
Hi All,
I am looking to make the Serial Number attribute mandatory on the cmdb_ci_computer table. However, the field is inherited from the CMDB Base (cmdb_ci) table. How can I enforce it as required only for the cmdb_ci_computer class? Also, how is this related to CMDB Completeness? I was unable to make the serial_number field mandatory on cmdb_ci_computer through CI Class Manager.
Thanks!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
yesterday
Hai @pramodkumar
The Serial Number field is inherited from the CMDB Base table (cmdb_ci), so it cannot be made mandatory directly on the cmdb_ci_computer table via CI Class Manager. That’s why you’re unable to enforce it there.
However, you have two supported ways to handle this requirement:
Option 1: Use a Data Policy (Recommended)
A Data Policy allows you to make a field mandatory only for a specific CI class, without impacting other child classes.
Steps:
- Navigate to System Policy → Data Policies
- Create a new Data Policy:
- Table: cmdb_ci_computer
- Active: true
- Under Data Policy Rules:
- Field: serial_number
- Mandatory: true
- Save the record
This enforces the Serial Number as mandatory both in UI and API for cmdb_ci_computer only.
Option 2: Use a UI Policy (UI-only)
If you only need this enforcement in the UI, you can use a UI Policy.
Note:
UI Policies do not apply to imports, integrations, or APIs.
How This Relates to CMDB Completeness
CMDB Completeness is calculated based on Identification Rules and Completeness Rules, not mandatory fields.
- Making a field mandatory does not automatically improve CMDB Completeness
- To include Serial Number in completeness:
- Add it as a required attribute in CMDB Completeness Rules
- Or include it in Identification Rules, if applicable
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
yesterday
Hi @pramodkumar
To satisfy this condition where you want the Serial Number Field mandatory only on the cmdb_ci_computer table You can create a Data Policy
Please follow the below steps:
- Navigate to System Policy → Data Policies
Create a new Data Policy:
- Table: cmdb_ci_computer
- save the form
- Then scroll down to find Data Policy Rules in the related list.
- Table: cmdb_ci_computer
- Create a new Data Policy Rule:
- Field: serial_number
- Mandatory: true
update the form.
Please mark this response as Helpful & Accept it as solution if it assisted you with your question.
Regards,
Gagan R Prasad.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
yesterday
Hi @pramodkumar
Forgot to Answer the question how is this related to CMDB Completeness?
CMDB Health measures data quality across three pillars — Completeness, Compliance, and Correctness. Completeness specifically asks: "Are the required attributes populated for this CI class?"
Serial number is typically included as a tracked completeness attribute for cmdb_ci_computer. Even if you enforce it as mandatory on the form, that only prevents future bad data — it does nothing for CIs already in the CMDB with a blank serial number. This is where Completeness Rules come in.
Completeness Rules defines which fields must be populated for a CI to be considered "complete." CIs missing serial_number will be flagged and pull down the completeness score on your CMDB Health Dashboard.
Please refer below documents for additional details
https://www.servicenow.com/community/cmdb-forum/cmdb-health-dashboard-completeness-compliance-amp-co...
https://www.servicenow.com/community/itsm-articles/understanding-cmdb-health/ta-p/2307033
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
2 hours ago
Hello @pramodkumar, I'm not sure about the underlying business requirement, but applying this logic means many of your CIs might fail to create if they lack a serial number. Instead, you can create a Completeness metric as follows
CI Class Manager -> Computer Class -> Expand Health on the left menu and click Completeness -> Add serial_number to the Selected fields list
as a result if a CI is discovered or created without a serial number, it flags a completeness failure.
Technically, you can mark Serial Number mandatory as well - Go to Hardware Class ( parent of Computer ) and open the Attributes -> Derived -> Serial number, and create new Dictionary Overrides by selecting the Computer class and mark it mandator as below:
Regards,
Nishant
