IntegrationHub ETL - is it possible to add multiple attributes for classes in more automated way?

Wojciech Werysz
Kilo Guru

Hello Friends,

I just finished the course on NowLearning - "Use IntegrationHub ETL to Import Data"

1. When we are clicking on edit mapping we have to manually assign each attribute - which is fine, but we cannot copy the assigned attributes from one class to another. We have to do it one class each or am I missing something?find_real_file.png

Is there no option to just copy the assigned attributes from one class to another?

 

2. And my final question is -

a) Is it possible to create multiple attributes for the class - i.e. by importing the excel file with their settings? 

b) Is it possible to inherit attributes from one class to the others?

 

3 REPLIES 3

Not applicable
Wojciech,
 
1) Instead of having 3 different mappings (1 for computer, 1 for Linux Server, and 1 for Windows Server), you can do 1 mapping to computer (the common parent class) and a transformed attribute to the Class (sys_class_name) attribute.
 
In this situation you could have a script transform that takes the u_operating_system_name as an input and then does conditinals to set the output to cmdb_ci_linux_server, cmdb_ci_win_server, etc).  This will save you from repetitive mapping and also allow for changes to one mapping to apply to all 3 mappings.
 
2) Can you double click in the "Insert new row" area and populate the label for a new attribute?  From there you should be able to fill out the rest of the attribute.  You could also add it from sys_db_object.
 
3a) I think this question is about creating new attributes on a class as in question 2?  If so I am not aware of automated way to create new attributes.  ServiceNow has it's own field types so excel data types may not line up easily.
 
3b) Yes, answered in 1

jgates

Thank you for the fast response.

1) Instead of having 3 different mappings (1 for computer, 1 for Linux Server, and 1 for Windows Server), you can do 1 mapping to computer (the common parent class)

Ok, This sounds good.

and a transformed attribute to the Class (sys_class_name) attribute. 

In this situation you could have a script transform that takes the u_operating_system_name as an input and then does conditinals to set the output to cmdb_ci_linux_server, cmdb_ci_win_server, etc).  

I am not sure what do you mean and where to set it up I afraid. Do you mean IntegrationHub ETL>Preview and Prepare Data> New Transform > Transform type: Script Operation?

find_real_file.png

2. Creating attributes for one parent class in CI Manager manually is great and works fine, attributes are inherited as well.

3. I was trying to set up the import to System Definition>Dictionary, but unsuccesfully. 

1) Yes, you are on the right track there.  You need your input column to be the operating system though.  Once you have the input and output columns setup you can write you script to set the output[i] to whatever class name you want.