• Get started
  • Documentation

Mapping imported data for IT Asset Management (ITAM)

Assets in Jira Service Management is a Premium and Enterprise only feature. Learn more about Assets.

How to use this guide

This chapter of the Assets guide will walk you through mapping objects and attributes for importing in Assets. To get the best results from this chapter, you should have completed the previous chapters:

Each step in this guide will include detailed instructions about how to use Assets in Jira Service Management, and also some tips and best practices about how to get the most out of this powerful feature when using it as part of your team’s ITAM processes.

There are two types of information in this guide:

  • The headers with the blue background will help you get started in Assets. They will provide you with information about each step in the guide, including examples of data and how each feature can be used.

  • The text with the white background will give you a series of steps to help you navigate through Assets, or it will contain detailed information about an Assets concept.

And some notes about the text:

  • Information in bold indicates text that you will find in Assets itself, such as the name of a menu option, a feature you can toggle on and off, or a button.

  • Information in code is text that’s part of our example object schema for IT Asset Management (ITAM).

  • Information in bold italics is a concept or idea that forms an important part of Assets.

Creating an object mapping

In the previous chapter, we completed the first step of importing data into Assets by creating an import mapping.

Now we will complete the next step - object type mapping - to tell Assets how to convert the data into objects in our object schema. We can see that the status of our new import structure is marked as disabled - this is because we don’t have any object mapping in place.

We’ll go back into the import structure that we just created, Models import and create a new object type mapping. We will fill in the field at top:

  • Object type tells Assets which pre-existing object type we will be filling with objects. The dropdown list should already be populated with object types, which Assets has found by reading our data file and identified as an object type. In the future, we can modify how Assets finds object types in our data file by changing the identifier. Today, let’s select Hardware models as the object type.

Below this, we have a set of fields that allow you to pre-process the data coming into Assets. Let’s leave all of these as default, except for Missing objects, which we will go into in a later section. These fields are:

  • Filter data source by AQL allows you to filter the incoming objects by an AQL query. For example, if you had a large list of servers and laptops mixed up in a data file, you could use an AQL query here to assign incoming objects to a child object type.

  • Identifier case matching lets you choose if the data is case-sensitive.

  • Missing objects lets you choose what to do if you are updating your data and an object is missing from the data file. You can choose to remove the missing object from your object schema, ignore it, or modify an attribute in the missing object. For example, if you have a data file of your laptops, you might decide to have Missing objects change the status of your laptop from present to missing if it can’t be found in the data file.

  • Missing objects outbound references lets you choose what to do if all of your objects are present, but some of the objects that are referenced by your data cannot be found. You can choose to remove these missing references, or simply ignore them. This rule only runs if Missing objects, above, runs.

  • Empty values - this setting is particular to the reference, status, and select attribute types, which can hold multiple values in a single attribute. It lets you choose what should happen if your object is expecting values in this reference, status, or select attribute type, but it doesn’t find as many values as it expects. You can choose for Assets to remove the missing values that it doesn’t find in the data, or simply ignore the missing values.

  • Unknown values - this setting is particular to the status and select attribute types. When a status or select attribute is updated, you may choose if new values from the source should be added to the list of Status or Select types. This allows you to dynamically update the options for these fields.

To create a new object mapping:

  1. From your service project, go to Assets > Object schemas.

  2. Select an Object schema.

  3. Select Schema configuration, then choose the Import tab.

  4. Select Edit mapping on your import structure to expand it.

  5. You must create a separate object type mapping for each object type that you wish to create from the data. Select the Create mapping button to create a new object type mapping. In the Create a new object type mapping screen, enter the following information:

    1. Object type - select what object type to create from the data. You must have already created an object type to import the data, as per step (2), above.

    2. Filter data source by IQL - An optional IQL to query the objects fetched from source. If you wish to filter the objects from data, you can accomplish that here.

    3. Identifier case matching - select either:

      1. Case sensitive - Identifiers will be compared respecting case, 'Data Value' will NOT be considered the same as 'data value'.

      2. Case insensitive - Identifiers will be compared ignoring case, 'Data Value' will be considered the same as 'data value'.

    4. Missing objects - select from:

      1. Remove - Only entries from the import will persist as Assets object/s. Any object manually created in Assets will be deleted.

      2. Update - All objects in Assets not present in the import will have an attribute edited.

      3. Ignore - Objects in Assets that are not present in the import won't be removed or updated.

    5. Threshold number - the threshold number is the number of times that missing objects from the import source will be ignored before the rule selected in the Missing objects configuration field, above, is applied. This is a safety feature to avoid deleting objects immediately when they are not discovered in the import source data.

    6. Missing objects outbound references - this setting will appear only if you have selected Update or Ignore from Missing objects, above. Select from:

      1. Remove - Only outbound references from the import will persist as Assets references. Any outbound references manually created in Assets will be deleted.

      2. Ignore - Outbound references in Assets that aren’t found in the import won't be removed or updated.

    7. Empty values - When an object is updated, choose if empty values from the external source should remove the existing value. Select from:

      1. Use default - use the value specified in the “Define import structure” screen for this object type.

      2. Remove - remove the current value. If the attribute is a status, select, or reference type attribute with more than one value, all of the values will be removed.

      3. Ignore - keep the current value for this object type. If the attribute is a status, select, or reference type attribute with more than one value, all of the values will be kept.

    8. Unknown values - When an object is updated, should unknown values from the external source be added to the Assets attribute configuration. Select from:

      1. Use default - use the default value.

      2. Add - add the two values together.

      3. Ignore - keep the current value.

  6. Select Create.

Selecting an identifier for an attribute mapping

Now that we’ve created an object mapping, we can see that Hardware models is listed under Mapping.

We’ll also notice that it’s currently marked as disabled, the same as it’s parent import structure Models import.

This is because we’ve decided to manually map our data, so we don’t currently have an identifier assigned for this attribute mapping. The identifier lets Assets know which of the attributes in our object type is going to be unique for each object. This attribute is usually a name, but can also be a serial number, storage ID, or anything else you desire.

Go into your Models import import, and select Edit mapping under Hardware models and then Edit attributes mapping.

Now we’re looking at the attribute mapping for Hardware models - the rules that define how Assets builds attributes from your data. Each row in this table is a different attribute of the object type specified above, in this case, Hardware models.

Let’s select an identifier. We’ll select something unique - the Model Name from the data file. In the of Hardware models, the Model Name is unique and makes a good key. In the case of an inventory list, on the other hand, the model wouldn’t make a good key because there might be multiple instances of the same model, and a unique Serial Number would be better.

We’ll set the Data source to Model Name and our Destination attribute to Name. We notice that Name is marked with a label icon, meaning that the name is also the attribute that will appear in the title bar when we’re viewing the object in the object view.

To select an identifier for your object mapping:

  1. From your service project, go to Assets > Object schemas.

  2. Select an Object schema.

  3. Select Configure, then choose the Import tab.

  4. In the Import tab, select on Edit mapping on your import structure to view the object type mappings.

  5. Select Edit attributes mapping to view the attribute type mappings.

    1. Select a Data source field. If you are selecting a data source field that is to be your identifier, you should select a value that is unique for every object.

    2. Select a Destination attribute. The destination attribute is the attribute where the data source field will be mapped.

    3. Ensure that the Identifier checkbox is selected.

Creating an attribute mapping

Now that we’ve selected a unique identifier for our objects, we can populate the Hardware models objects with attributes pulled from the data source.

Let’s create the following attribute mappings. For each row we will add a data source field and a destination attribute. For the attribute mappings where we are creating references from the text found in the CSV, we must also add an AQL statement to create the reference.

Go into our Models import import structure, and select Edit mapping under Hardware models and then Edit attributes mapping.

  1. Data source field: Category | Destination attribute : Category

  2. Data source field: Model | Destination attribute : Model

  3. Data source field: Unit Price | Destination attribute: Unit Price

  4. Data source field: Description | Destination attribute: Product information

Don’t forget to click Add after each attribute mapping!

To create a new attribute mapping:

  1. From your service project, go to Assets > Object schemas.

  2. Select an Object schema.

  3. Select Configure, then choose the Import tab.

  4. In the Import tab, select on Edit mapping on your import structure to view the object type mappings.

  5. Select Edit attributes mapping to view the attribute type mappings.

  6. Every object imported into Assets will require at least one piece of information - the data source field that lets Assets know where to find objects in the data source. Learn more about the data source field.

    1. Select a Data source field. The data source field specifies the location of the objects in the data file. Your attribute mapping will be disabled until you supply a data source field for each mapped attribute.

    2. Select a Destination attribute to map to the data source field.

    3. Optionally, you can modify the default settings for this attribute mapping:

      1. AQL - enter an AQL statement here to create references from data.

      2. Concatenator - enter an alternative concatenator here that applies only to this attribute mapping.

      3. Regular expression - enter a regular expression here (regex) that applies only to this attribute mapping.

      4. Base 64 - enter an alternate Base 64 value here.

  7. Select one of the attributes as an identifier. An identifier uniquely identifies each object, and will become that object’s new label when it is created. You must have exactly one identifier to run your import. The identifier is also important when you are updating data - any object with the same identifier in the destination schema will be updated, while objects with identifiers not found in the destination schema will be created.

  8. Click Add, at right.

Enabling an attribute mapping

Now that we’ve completed the attribute mapping for Hardware models, we can enable it.

Enabled attribute mappings will bring in data when the import runs. Disabled attribute mappings won’t affect the data in any way when the import is run.

To enable an attribute mapping:

  1. From your service project, go to Assets > Object schemas.

  2. Select an Object schema.

  3. Select Configure, then choose the Import tab.

  4. In the Import tab, select on Edit mapping on your import structure.

  5. Select to the right of the attribute mapping you want to enable.

  6. Select Enable.

Creating referenced objects using object mapping

Now that we have created an object mapping for Hardware models, when we run the import it will automatically create an object for each of the hardware models in the data file.

However, the Hardware models object type also contains a reference - the Model attribute points at the Models object type. When you import a reference from data, to make the reference functional you must complete some extra tasks:

  1. Populate the objects that are the target of the reference

  2. Convert the plain text from the data import into a link that points at the reference.

First we’ll create the referenced objects. We will create them the same way that we created the Hardware models objects, above, by creating a new object mapping for the Models object type.

After we have created the Object mapping, we will go into the Attribute mapping and set the identifier for the object type.

The Data source field we will set to Model and the Destination attribute we will set as Name.

To create a new object mapping:

  1. From your service project, go to Assets > Object schemas.

  2. Select an Object schema.

  3. Select Schema configuration, then choose the Import tab.

  4. Select Edit mapping on your import structure to expand it.

  5. You must create a separate object type mapping for each object type that you wish to create from the data. Select the Create mapping button to create a new object type mapping. In the Create a new object type mapping screen, enter the following information:

    1. Object type - select what object type to create from the data. You must have already created an object type to import the data, as per step (2), above.

    2. Filter data source by IQL - An optional IQL to query the objects fetched from source. If you wish to filter the objects from data, you can accomplish that here.

    3. Identifier case matching - select either:

      1. Case sensitive - Identifiers will be compared respecting case, 'Data Value' will NOT be considered the same as 'data value'.

      2. Case insensitive - Identifiers will be compared ignoring case, 'Data Value' will be considered the same as 'data value'.

    4. Missing objects - select from:

      1. Remove - Only entries from the import will persist as Assets object/s. Any object manually created in Assets will be deleted.

      2. Update - All objects in Assets not present in the import will have an attribute edited.

      3. Ignore - Objects in Assets that are not present in the import won't be removed or updated.

    5. Threshold number - the threshold number is the number of times that missing objects from the import source will be ignored before the rule selected in the Missing objects configuration field, above, is applied. This is a safety feature to avoid deleting objects immediately when they are not discovered in the import source data.

    6. Missing objects outbound references - this setting will appear only if you have selected Update or Ignore from Missing objects, above. Select from:

      1. Remove - Only outbound references from the import will persist as Assets references. Any outbound references manually created in Assets will be deleted.

      2. Ignore - Outbound references in Assets that aren’t found in the import won't be removed or updated.

    7. Empty values - When an object is updated, choose if empty values from the external source should remove the existing value. Select from:

      1. Use default - use the value specified in the “Define import structure” screen for this object type.

      2. Remove - remove the current value. If the attribute is a status, select, or reference type attribute with more than one value, all of the values will be removed.

      3. Ignore - keep the current value for this object type. If the attribute is a status, select, or reference type attribute with more than one value, all of the values will be kept.

    8. Unknown values - When an object is updated, should unknown values from the external source be added to the Assets attribute configuration. Select from:

      1. Use default - use the default value.

      2. Add - add the two values together.

      3. Ignore - keep the current value.

  6. Select Create.

Converting text data into object references with placeholders

Now that we’ve created the objects that will be referenced, let’s create the references from the Hardware models object type to the Models object type.

We will go into the Object mapping for Hardware models and select the Attribute mapping for Model. To convert the plain text from the data import into a link that points at the reference, we will have to use an AQL statement containing a placeholder in the AQL field for that Attribute mapping.

A placeholder is a way of referencing information that allows Assets to infill that piece of AQL with whatever it finds in the appropriate spot.

We will enter the following in the AQL field:

Name = ${Category}

This will tell Assets to look for an object where the Name attribute of that object matches the Category data found in the data source.

To create a new attribute mapping to convert text data into an object reference:

  1. From your service project, go to Assets > Object schemas.

  2. Select an Object schema.

  3. Select Configure, then choose the Import tab.

  4. In the Import tab, select on Edit mapping on your import structure to view the object type mappings.

  5. Select Edit attributes mapping to view the attribute type mappings.

  6. Every object imported into Assets will require at least one piece of information - the data source field that lets Assets know where to find objects in the data source. Learn more about the data source field.

    1. Select a Data source field. The data source field specifies the location of the objects in the data file. Your attribute mapping will be disabled until you supply a data source field for each mapped attribute.

    2. Select a Destination attribute to map to the data source field.

    3. Select the AQL field. Use a placeholder in this field to convert the text data in the data source field into an object reference. This might look like: Name = ${DataSourceFieldName} where DataSourceFieldName is the name of the data source field.

  7. Click Add, at right.

Enabling an object mapping

Now that we’ve completed and enabled all of our attribute mappings, we can enable the parent object mapping for this object type.

Enabled object mappings will bring in data when the import runs. Disabled object mappings won’t affect the data in any way when the import is run.

To enable an object mapping:

  1. From your service project, go to Assets > Object schemas.

  2. Select an Object schema.

  3. Select Configure, then choose the Import tab.

  4. In the Import tab, select to the right of the object mapping you want to enable.

  5. Select Enable.

Configuring missing objects and threshold numbers

Now that we have created an object mapping for Hardware models, let’s create a mapping for Hardware assets.

We will also be configuring some of the settings in this object mapping to help our team track the status of Assets in the system.

Because we are using the Hardware assets object type to track the objects that are in our current inventory, we want it to reconcile with the data source and let us know when an object that we've previously found in the data source is now missing.

Go into our import structure and set Missing objects to Update the Status attribute from present to missing if it can’t be found in the data file.

Within the Missing objects setting, let’s also set the Threshold number to 1. This means that if a laptop is missing from our data file, after we sync the data one time, the status for that laptop will change from present to missing. This gives us an opportunity to double-check the data manually or run some automations tied to the missing status before the object is deleted from Assets.

If we sync the data again and the laptop is still missing, the object will be automatically removed from our object schema.

To create a new object mapping:

  1. From your service project, go to Assets > Object schemas.

  2. Select an Object schema.

  3. Select Schema configuration, then choose the Import tab.

  4. Select Edit mapping on your import structure to expand it.

  5. You must create a separate object type mapping for each object type that you wish to create from the data. Select the Create mapping button to create a new object type mapping. In the Create a new object type mapping screen, enter the following information:

    1. Object type - select what object type to create from the data. You must have already created an object type to import the data, as per step (2), above.

    2. Filter data source by IQL - An optional IQL to query the objects fetched from source. If you wish to filter the objects from data, you can accomplish that here.

    3. Identifier case matching - select either:

      1. Case sensitive - Identifiers will be compared respecting case, 'Data Value' will NOT be considered the same as 'data value'.

      2. Case insensitive - Identifiers will be compared ignoring case, 'Data Value' will be considered the same as 'data value'.

    4. Missing objects - select from:

      1. Remove - Only entries from the import will persist as Assets object/s. Any object manually created in Assets will be deleted.

      2. Update - All objects in Assets not present in the import will have an attribute edited.

      3. Ignore - Objects in Assets that are not present in the import won't be removed or updated.

    5. Threshold number - the threshold number is the number of times that missing objects from the import source will be ignored before the rule selected in the Missing objects configuration field, above, is applied. This is a safety feature to avoid deleting objects immediately when they are not discovered in the import source data.

    6. Missing objects outbound references - this setting will appear only if you have selected Update or Ignore from Missing objects, above. Select from:

      1. Remove - Only outbound references from the import will persist as Assets references. Any outbound references manually created in Assets will be deleted.

      2. Ignore - Outbound references in Assets that aren’t found in the import won't be removed or updated.

    7. Empty values - When an object is updated, choose if empty values from the external source should remove the existing value. Select from:

      1. Use default - use the value specified in the “Define import structure” screen for this object type.

      2. Remove - remove the current value. If the attribute is a status, select, or reference type attribute with more than one value, all of the values will be removed.

      3. Ignore - keep the current value for this object type. If the attribute is a status, select, or reference type attribute with more than one value, all of the values will be kept.

    8. Unknown values - When an object is updated, should unknown values from the external source be added to the Assets attribute configuration. Select from:

      1. Use default - use the default value.

      2. Add - add the two values together.

      3. Ignore - keep the current value.

  6. Select Create.

Create more attribute mappings

Now that we’ve created our object mapping for the Hardware assets and set it to reconcile with the data source, we need to create some attribute mappings.

We will create these in the same way as we created the attribute mappings for the Hardware models

Fill in the attribute type mapping fields as follows:

  1. Data source field: Name | Destination attribute : Name

  2. Data source field: Model Name | Destination attribute : Model Name | AQL: Name = ${Model Name}

  3. Data source field: Purchase Date | Destination attribute: Purchase Date

  4. Data source field: Status | Destination attribute: Status

  5. Data source field: Owner Group | Destination attribute: Owner Group

  6. Data source field: Item Type | Destination attribute: Item Type

Don’t forget to add the AQL information for the Model name attribute.

To create a new attribute mapping:

  1. From your service project, go to Assets > Object schemas.

  2. Select an Object schema.

  3. Select Configure, then choose the Import tab.

  4. In the Import tab, select on Edit mapping on your import structure to view the object type mappings.

  5. Select Edit attributes mapping to view the attribute type mappings.

  6. Every object imported into Assets will require at least one piece of information - the data source field that lets Assets know where to find objects in the data source. Learn more about the data source field.

    1. Select a Data source field. The data source field specifies the location of the objects in the data file. Your attribute mapping will be disabled until you supply a data source field for each mapped attribute.

    2. Select a Destination attribute to map to the data source field.

    3. Optionally, you can modify the default settings for this attribute mapping:

      1. AQL - enter an AQL statement here to create references from data.

      2. Concatenator - enter an alternative concatenator here that applies only to this attribute mapping.

      3. Regular expression - enter a regular expression here (regex) that applies only to this attribute mapping.

      4. Base 64 - enter an alternate Base 64 value here.

  7. Select one of the attributes as an identifier. An identifier uniquely identifies each object, and will become that object’s new label when it is created. You must have exactly one identifier to run your import. The identifier is also important when you are updating data - any object with the same identifier in the destination schema will be updated, while objects with identifiers not found in the destination schema will be created.

  8. Click Add, at right.

Understanding importing into parent and child object types

If your object schema includes parent and child object types, you can import directly into the parent object type and use the Filter data source by AQL field to filter the incoming objects. Based on one of the attributes of the parent, the incoming object will be assigned to one of the child object types.

This feature enables you to use a single data source to generate multiple object type children dynamically when you import the data.

In our case, because we have set the Hardware assets object type to abstract, we will have to filter each incoming object into a child object type, either Phones, Laptops, Servers, or Printers. Any objects that we attempt to create in the Hardware assets object type simply will not appear.

Because the Filter data source by AQL field can only filter your objects based on data already mapped into Assets, you will need a data source field in your data to use as a filter. We will use the Item type attribute that we mapped in the previous step to divide up the objects into child object types.

Creating a child object mapping

For each of the four child object types, select Create child mapping at the bottom of the attribute mapping under Hardware assets.

In the Create child object mapping screen, select one of the child object types as an Object Type:

  1. Phones

  2. Laptops

  3. Servers

  4. Printers

For each child object type mapping , set the Filter data source by AQL field to the following:

  1. Phones | "Item Type" IN "Phone"

  2. Laptops | "Item Type" IN "Laptop"

  3. Servers | "Item Type" IN "Server"

  4. Printers | "Item Type" IN "Printer"

Now, when your run your import, objects will be created in the child object type that matches the AQL query in Filter data source by AQL.

  1. From your service project, go to Assets > Object schemas.

  2. Select an Object schema.

  3. Select Schema configuration, then choose the Import tab.

  4. In the Import tab, select on Edit mapping on your import structure to expand it.

  5. Select the object type mapping where you wish to create a child mapping and select Edit attributes mapping.

  6. A button to Create child mapping will appear under the attributes mapping. Select this and enter the following information:

    1. Object type - since the child object type will be the same as the parent object type, this option will be disabled.

    2. Filter data source by IQL - An optional IQL to query the objects fetched from source. If you wish to filter the objects from data, you can accomplish that here.

    3. Identifier case matching - this option will be disabled.

    4. Missing objects - select from:

      1. Remove - Only entries from the import will persist as Assets object/s. Any object manually created in Assets will be deleted.

      2. Update - All objects in Assets not present in the import will have an attribute edited.

      3. Ignore - Object in Assets that is not found in the import won't be removed or updated.

    5. Missing objects outbound references - select from:

      1. Remove - Only outbound references from the import will persist as Assets references. Any outbound references manually created in Assets will be deleted.

      2. Ignore - Outbound references in Assets that aren’t found in the import won't be removed or updated.

    6. Empty values - When an object is updated, choose if empty values from the external source should remove the existing value. Select from:

      1. Use default - use the value specified in the “Define import structure” screen for this object type.

      2. Remove - remove the current value. If the attribute is a status, select, or reference type attribute with more than one value, all of the values will be removed.

      3. Ignore - keep the current value for this object type. If the attribute is a status, select, or reference type attribute with more than one value, all of the values will be kept.

    7. Unknown values - this option will be disabled.

  7. Select Create.

Adding additional attribute mappings to a child object mapping

If you select one of the child mappings you have just created and view it’s attribute mapping, you will notice that there are already a list of existing attribute mappings.

These are the attributes that are inherited from the parent object type, and will be included for all child object types where the mapping has been created using Create child mapping.

But some of our child object types included additional attributes that also need to pull data from the data file. In the case of the Phones attribute type, these attributes are IMEI and Phone number.

We can add these two attribute mappings in the same way as before, by clicking on the Add button and then selecting a Data source field and Destination attribute.

To create a new attribute mapping:

  1. From your service project, go to Assets > Object schemas.

  2. Select an Object schema.

  3. Select Configure, then choose the Import tab.

  4. In the Import tab, select on Edit mapping on your import structure to view the object type mappings.

  5. Select Edit attributes mapping to view the attribute type mappings.

  6. Every object imported into Assets will require at least one piece of information - the data source field that lets Assets know where to find objects in the data source. Learn more about the data source field.

    1. Select a Data source field. The data source field specifies the location of the objects in the data file. Your attribute mapping will be disabled until you supply a data source field for each mapped attribute.

    2. Select a Destination attribute to map to the data source field.

    3. Optionally, you can modify the default settings for this attribute mapping:

      1. AQL - enter an AQL statement here to create references from data.

      2. Concatenator - enter an alternative concatenator here that applies only to this attribute mapping.

      3. Regular expression - enter a regular expression here (regex) that applies only to this attribute mapping.

      4. Base 64 - enter an alternate Base 64 value here.

  7. Select one of the attributes as an identifier. An identifier uniquely identifies each object, and will become that object’s new label when it is created. You must have exactly one identifier to run your import. The identifier is also important when you are updating data - any object with the same identifier in the destination schema will be updated, while objects with identifiers not found in the destination schema will be created.

  8. Click Add, at right.

Running the imports

Now it’s time to sit back and run the imports to bring the data into Assets, and populate the objects, their attributes and references.

Because we’re importing data from two sources, it becomes important to decide which import to run first.

The Models import contains a list of models that the Assets import will use to populate it’s own fields, so it makes sense to run the models import first, and then run the assets import secondly.

We may also wish the run the assets import more frequently than the models import, since inventories change more frequently - and more erratically - than lists of models.

To run an import:

  1. Select an Object schema.

  2. Select Schema configuration, then choose the Import tab.

  3. In the Import tab, select Import data on the import structure that you want to run.

  4. A progress bar should appear on the import structure. When the import is complete, Import succeeded or Import failed will appear on the import structure.

  5. If you like, you can read more details on the import results by selecting Read details on the import structure itself, or you can view a history of all completed imports by selecting View history.

Viewing the import results in the import history

Now the import is running and we can see as objects and their attributes are created. After a short while the information should be imported, and we can view it in our object schema.

We can also use the import history feature to review our completed imports and make sure that everything went as planned. Let’s take a look at it now.

Imports bring outside data into Assets. You can discover detailed information about running and finished imports in the Import history screen:

  1. Select an Object schema.

  2. Select Schema configuration, then choose the Import tab.

  3. Select View history.

  4. The following information is available:

    1. Start time - the date and time the import was started.

    2. End time - the date and time the import was finished.

    3. Name - the type (CSV, JSON, or external app) of the import and the name of the import.

    4. Duration - the amount of time required to run the import.

    5. Status - the state of the import, either SUCCESS or FAILED.

    6. Actor - the user running the import.

    7. Operations - Select this column to view more information about the completed import:

      1. Module info - a unique identifier for the import module used in this import.

      2. Configuration ID - a unique identifier for the import structure used.

      3. DETAILS PER OBJECT TYPE - this panel contains more detailed information about the results of importing individual object types:

        1. Number of entries

        2. Duplicated objects based on id

        3. New created objects

        4. Time to read external data

        5. Time to take actions

        6. Time to write Assets data

        7. Execution time

 

Good work!

We’ve now learned about how object and attribute mapping work, and you’ve learned to map data to create both text attributes and references to other objects.

We’ve created two separate import structures - Models import and Assets import.

For each of these imports, we’ve created an object mapping to create the objects from each data file. We’ve also created a third object mapping to hold the information about the different categories of catalog item - Hardware models - so we can link to them as references and create a more robust object schema.

Next, we’ve created attribute mappings and mapped all of the Data source fields in our two sets of source data to Destination attributes in our target to create attributes for each of our objects.

We’ve also converted some of the text data from the data file into object references by using the AQL field with placeholders to generate a link between the objects.

We’ve configured one of our import structures - Assets import - so that it checks the existing objects against the data source to find missing objects, and if it finds them, it will remove those entries from the object schema after completing imports over the threshold number.

But that’s not all!

Because we’re bringing information into a complex object schema with parent and child object types, we’ve even created some child object mappings to receive objects from our Assets import and automatically sort those incoming objects into the appropriate object type based on the attribute mappings we created on the AQL query we supplied in the Filter data source by AQL field.

We’ve learned about the importance of ordering our imports when running imports from multiple data sources.

Finally, we’ve run the imports, and we’ve inspected the results of the completed imports using the Import history panel.

Still need help?

The Atlassian Community is here for you.