Find your people. Pick a challenge. Ship something real. The CreatorCon Hackathon is coming to the Community Pavilion for one epic night. Every skill level, every role welcome. Join us on May 5th and learn more here.

IntegrationHub ETL updating instead of inserting

Ryan S
Mega Sage

I've inherited an IntegrationHub ETL configuration and am stuck on troubleshooting. I am importing new records to cmdb_ci_server and some of the records are 'updated' instead of 'inserted.' None of these records existed to begin with. I tried a test file with 4 servers. Obviously more attributes, but starting with what might be the culprit:

NameCompany
abcdAcme
abcdOceania
xyzAcme
xyzOceania

 

Yes, Acme and Oceania both have 2 servers with the same name. When I run the Robust Transform, I'm only getting 2 records inserted and 2 updated. What's weird is, if abcd for Acme gets created and the one for Oceania says updated, none of the values on abcd reflect Oceania so I don't know what it's actually updating.

 

How do I troubleshoot this? How do I get 4 records updated now, and later if I need to run an update (say, the status needs updated on Acme xyz) how can I run another import and ensure that record is updated?

8 REPLIES 8

Simon Christens
Mega Sage

IntegrationHub ETL uses CI Class Manager (IRE - Identification and Reconciliation Engine) to identify CIs.

Depending on the setup in the Identification rules in CI Class Manager - SN either inserts or updates CIs.

These are the default behaviour

SimonChristens_0-1769487581642.png

 

As you can see theres a check on the name - which causes your CIs to be updated if the name already exists.
So what you need to do is to create a new Identification rule that uses both Name and Company to ensure that CIs can have the same name if the Company is different.

Click "Replace" - add an independant identification rule that includes Name and Company and see if that helps

SimonChristens_1-1769487909176.png

 

Hi Simon, thanks for the response. It appears we do have a rule already created for that (Priority 10). See screenshot. But I do see 'Name' is also listed in Priority 300.Screenshot 2026-01-26 233441.png

 

Interesting

How does you Integraionhub ETL looks like when handling data?

Are you looking up the company and return the sys_id in a temp variable?

You can check it in the setup - maybe something like:

SimonChristens_0-1769491459074.png

And then map the temp variable to the company field on the Server table in the mapping part of ETL

Ah, feel like we're getting close.

cmdb_ci_name is mapped to u_name with no transformation. However...

cmdb_ci_company is mapped to u_owning_client_name_cleansed. That in turn is a transform to grab the sys_id of the company (owning_client = company).

u_name.pngu_owning_client.png

The script is just lookup up the sys_id based on the name.

mapping.png