Qualys SGC/CMDB Sync bypassing Transform Maps and forcing CIs into Personal Computer class
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
2 hours ago - last edited an hour ago
I am experiencing an issue with our Qualys integration where incoming computer data is being classified into the Personal Computer (cmdb_ci_pc_hardware) table.
My Goal:
I want all of this incoming asset data to go strictly to the base Computer (cmdb_ci_computer) table instead of extending into the Personal Computer child table.
What I have checked/tried so far:
- CI Class Mappings: Looked under Qualys CMDB Sync App > Configuration > CI Class Mappings, but there are no active rules or records mapping to cmdb_ci_pc_hardware. It seems to be falling back to an internal Qualys default.
- Transform Map Source Scripts: I added a source script on the sys_class_name field to return "cmdb_ci_computer".
- OnBefore Transform Scripts: I wrote an onBefore script setting target.sys_class_name = "cmdb_ci_computer".
The Issue:
Both Transform Map methods are failing. The data completely bypasses my scripts and still creates the records as Personal Computers. I suspect the Qualys integration is using the Identification and Reconciliation Engine (IRE) via a payload structure that ignores standard target mapping changes.
My Question:
Apart from writing a database-level before insert Business Rule on cmdb_ci_pc_hardware to force-switch the sys_class_name, is there an official, cleaner way to override this hardcoded Qualys class logic? Where exactly in the Qualys application configuration or Script Includes can I stop this fallback routing to the Personal Computer table?
Any guidance or code snippets to intercept the IRE payload would be highly appreciated!
If you'd like, I can:
- Add a code snippet to the community draft showing exactly what your current onBefore script looks like
- Refine the description based on whether you are using the Service Graph Connector or the older Qualys CMDB Sync App
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
an hour ago
Hi @pallavis5429050,
If you are using the Qualys Service Graph Connector (SGC), then the data is processed through IRE (Identification and Reconciliation Engine) and not through traditional Transform Map target scripts.
In that case, modifying sys_class_name in Transform Maps or onBefore scripts will typically have no effect.
The class assignment is usually determined by:
- The Service Graph Connector mapping configuration
- The CI Type/Class mapping in the connector payload
- IRE processing rules
A Business Rule on cmdb_ci_pc_hardware is not recommended because it can interfere with IRE and CMDB data integrity.
check:
- Qualys SGC CI Class Mapping configuration
- Service Graph Connector mapping definitions
- IRE logs (cmdb_ire_output)
- Connector Script Includes related to CI classification
Also note that Personal Computer (cmdb_ci_pc_hardware) extends Computer (cmdb_ci_computer), so ServiceNow may be intentionally classifying the device into the more specific class based on the payload attributes.