Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Table of Contents
minLevel1
maxLevel6
outlinefalse
typelist
printablefalse

Assets Data Model

Assets in Jira Service Management is a feature within Jira Service Management that allows team to track their assets, configuration items, and resources to understand and visualize the critical relationships between applications, services, their underlying infrastructure, and other key dependencies.

Expand
titleAssets Data Model Diagram
assets dm.pngImage Modified

Core Elements:

  • Object Schema “A”

    • Object Type (e.g. “Software”)

      • object 1 (“MS Offie”)

        • child object 1-1 (“Word”)

          • attribute

Expand
titlePlace of Assets within Entire Jira Platform Data Model
image-20240202-102308.png

Expand
titleHere’s what it looks like in Assets Admin View
Image Modified
  1. Object schema: It works like a map that holds all of it together. In the Jira world, that would be a project.

  2. Object types: Containers for your objects (assets), each with its own characteristics, like specific issue types (Computers, Mobile phones). 

  3. Objects: Your actual assets, whatever they are. Similar to Jira issues or requests. Put them into object types, and get going (MacBook MBP M1, Latitude 7480).

  4. Attributes: What defines your object types (objects inherit them). Like fields or custom fields (Name, RAM, Storage).

  5. References: Relations and dependencies between objects. If you own a laptop, you have a reference to it (you own it). Like issue links, though they serve a different purpose.

...

Asset Object Schema

An object schema is a collection of information in Assets used to track assets, configuration items, and resources, and to understand and visualize the critical relationships between them.

...

🔷 Object schemas can be set up fully isolated from each other. Alternatively, you can allow some schemas to cross-reference objects from other schemas → combine individual object schemas into a larger data structures.

(blue star) Sample Asset_object_schema table

describes the names, descriptions, unique identifiers, and creation metadata for all object schemas defined within asset and configuration management.

...

Expand
titleWorkspace ID

The unique identifier of the asset and configuration management workspace.

SQL name

workspace_id

Data type

String

Foreign key

Links to a record in the workspace table in the schema for organization data.

...

* Services Object Schema

Expand
titleprobably not a part of this research...

The Services object schema is a special case – it contains services that your site uses across multiple projects. The Services object schema is created automatically by Jira Service Management and is read-only.

...

Asset Object Type

All object types will have four mandatory attributes:

...

The last three are set automatically and can not be edited.

(blue star) Sample asset_type table

describes the names, descriptions, unique identifiers, and creation metadata for all object types defined within asset and configuration management.

...

Expand
titleType ID

The unique identifier of the object type. Use this as the primary key for object type data.

SQL name

type_id

Data type

String

Expand
titleType reference*

The identifier of the object type.

SQL name

type_ref

Data type

String

Expand
titleUpdated at

The date and time (UTC time zone) when the object type was last updated.

SQL name

updated_at

Data type

Datetime

Expand
titleWorkspace ID

The unique identifier of the asset and configuration management workspace.

SQL name

workspace_id

Data type

String

Foreign key

Links to a record in the workspace table in another schema doe organization data

Asset Object

describes individual objects defined under the object types and object schemas.

(blue star) Sample asset_object table

uses the following columns:

Expand
titleCreated at

The date and time (UTC time zone) when the object was created.

SQL name

created_at

Data type

Datetime

Expand
titleKey*

The key associated with the object.

SQL name

key

Data type

String

Expand
titleLabel*

The name of the object.

SQL name

label

Data type

String

...

titleObject ID

The unique identifier of the object. Use this as the primary key for object data.

...

SQL name

...

  • Each object type can have a single parent object type and multiple child object types.

  • You can configure inheritance so that child object types automatically receive the attributes of their parents and pass their own attributes to their children.

  • Similarly you can set some object types as abstract, meaning that they can’t contain any objects of their own but can pass their attributes to their children, who can themselves contain objects. Inheritance and abstract object types can be used to create object schemas that are both simple and powerful.

...

Asset Object

describes individual objects defined under the object types and object schemas.

(blue star) Sample asset_object table

uses the following columns:

Expand
titleCreated at

The date and time (UTC time zone) when the object was created.

SQL name

created_at

Data type

Datetime

Expand
titleKey*

The key associated with the object.

SQL name

key

Data type

String

Expand
titleObject referenceLabel*

The identifier name of the object type.

SQL name

object_ref

label

Data type

String

Links to a record in the asset_object_schema table.
Expand
titleObject schema ID

The unique identifier of the object. Use this as the primary key for object schemadata.

SQL name

object_

schema_

id

Data type

String

Foreign key

Expand
titleType IDObject reference*

The unique identifier of the object type that the object belongs to.

SQL name

type

object_

id

ref

Data type

String

Foreign key

Expand
titleObject schema ID

The unique identifier of the object schema.

SQL name

object_schema_id

Data type

String

Foreign key

Links to a record in the asset_object_

type

schema table.

The date and time (UTC time zone) when the object was last updated
Expand
titleUpdated at
Type ID

The unique identifier of the object type that the object belongs to.

SQL name

type_id

Data type

String

Foreign key

Links to a record in the asset_type table.

Expand
titleUpdated at

The date and time (UTC time zone) when the object was last updated.

SQL name

updated_at

Data type

Datetime

Expand
titleWorkspace ID

The unique identifier of the asset and configuration management workspace.

SQL name

workspace_id

Data type

String

Foreign key

Links to a record in the workspace table in the schema for organization data.

...

Asset Object Attribute

Attributes can comprise of many different data types including text, dates, numerics, URLs, etc. Details in dropdown .

...

🔷 Most notable attribute type which enables the whole network to build up is referencing another object with a custom link.

(blue star) Sample asset_object_attribute table

describes the attributes of each object and stores the value of those attributes.

...

Expand
titleWorkspace ID

The unique identifier of the asset and configuration management workspace.

SQL name

workspace_id

Data type

String

Foreign key

Links to a record in the workspace table in the schema for organization data.

(blue star) Sample asset_object_issue_mapping table

maps objects to Jira issues. The table uses the following columns:

...

Expand
titleIssue ID

The unique identifier of the Jira issue.

SQL name

issue_id

Data type

String

Foreign key

Links to a record in the jira_issue table in the schema for Jira family of products.

Expand
titleObject ID

The unique identifier of the object.

SQL name

object_id

Data type

String

Foreign key

Links to a record in the asset_object table.

Expand
titleWorkspace ID

The unique identifier of the asset and configuration management workspace.

SQL name

workspace_id

Data type

String

Foreign key

Links to a record in the workspace table in the schema for organization data.

...

Attribute Configurations

Expand
titleCardinality

You can specify a minimum and maximum of number of attributes values that can be associated to the attribute. This is common when you need to set an attribute multiple choices or required / mandatory.

For attributes of type "Default" you can only set maximum cardinality to 1, except "URL" and "Email" where you may space separate.

Expand
titleValidation

You may validate attributes of default type "Text", "Email" & "URL" with regular expressions. This can be handy if you want to validate specific information, like an IP address, a domain name, a phone number, or anything else that may require validation.

Expand
titleOptions

You may add multiple Options to a "Select" Type Attribute by adding them here.

Expand
titleFilter objects

For attribute of type "Object" you may filter objects to be selected by AQL. By using this filter it is possible to create dependencies to other fields when creating/editing objects. 

The following examples shows how to configure an object reference attribute on the object type Employee to reference a Laptop. If a value is entered in the Manufacturer textbox only Laptops with the corresponding Vendor will be choosable. It is possible to combine multiple fields in the AQL to get multiple dependencies. 

Expand
titleAttributes additional More configurations

Option

Description

Suffix

For default type "Integer" and "Float" you can set a suffix for the attribute. Example is "$" for an attribute "Salary".

Hidden

Hide the attribute from users in the "assets-users" role.

Include children

Include objects from a child object type(s).

Unique

Validate attribute values to be unique within the object type.

Show Sum

For default type "Integer" and "Float" you can choose to add the values and display the sum of the attribute values

Indexed

This is a checkbox and you can use this to determine if you want to index this attribute or not.

The Indexed feature on every attribute essentially helps you to retrieve your search results faster when you do a basic search or an advanced search using AQL anywhere (e.g, post functions, imports, custom fields etc). So the recommended practice is that for all AQL queries used at these multiple places, you should index your attributes.

If your attribute is indexed, Assets will not retrieve results from the database every time but instead retrieve them from an index/cache which yields results quicker. However, this comes at the cost of a higher memory consumption.

For non-indexed attributes, memory consumption will be lower.

If you index an attribute, a small icon () precedes the Name of the attribute as shown below. This icon will not be visible when you uncheck the Indexed checkbox.

Additionally, for the label attribute, the indexed icon will appear adjacent to the icon for the label () as shown below.

By default, Assets will index all attributes on an object type, but the "Textarea" attribute is an exception to this rule.

The Key, Label, Created, and Updated attributes will always be indexed, as will any attributes of the type Reference.

(blue star) Sample asset_type_attribute_metadata table

provides the metadata for object attributes. The table uses the following columns:

Expand
titleCreated at

The date and time (UTC time zone) when the attribute was created.

SQL name

created_at

Data type

Datetime

Expand
titleDescription*

The description of the attribute.

SQL name

description

Data type

String

Expand
titleName*

The name of the attribute.

SQL name

name

Data type

String

Expand
titleType*

The type of the attribute.

SQL name

type

Data type

String

Expand
titleType attribute ID

The unique identifier of the object attribute.

SQL name

type_attribute_id

Data type

String

Foreign key

Links to a record in the asset_object_attribute table.

Expand
titleType attribute reference*

The identifier of the attribute.

SQL name

type_attribute_ref

Data type

String

Expand
titleUpdated at

The date and time (UTC time zone) when the attribute was last updated.

SQL name

updated_at

Data type

Datetime

Expand
titleWorkspace ID

The unique identifier of the asset and configuration management workspace.

SQL name

workspace_id

Data type

String

Foreign key

Links to a record in the workspace table in the schema for organization data.

(blue star) Sample asset_type_attribute_type_mapping table

maps object types to object type attributes. The table uses the following columns:

Expand
titleType attribute ID

The unique identifier of the object attribute. Use this as the primary key for this mapping.

SQL name

type_attribute_id

Data type

String

Foreign key

Links to a record in the asset_type_attribute_metadata table.

Expand
titleType ID

The unique identifier of the object type.

SQL name

type_id

Data type

String

Foreign key

Links to a record in the asset_type table.

Expand
titleWorkspace ID

The unique identifier of the asset and configuration management workspace.

SQL name

workspace_id

Data type

String

Foreign key

Links to a record in the workspace table in the schema for organization data.

(blue star) Sample asset_type_schema_mapping table

provides links between object types and the object schemas to which they belong. The table uses the following columns:

Expand
titleObject schema ID

The unique identifier of the object schema.

SQL name

object_schema_id

Data type

String

Foreign key

Links to a record in the asset_object_schema table.

Expand
titleType ID

The unique identifier of the object type.

SQL name

type_id

Data type

String

Foreign key

Links to a record in the asset_type table.

Expand
titleWorkspace ID

The unique identifier of the asset and configuration management workspace.

SQL name

workspace_id

Data type

String

Foreign key

Links to a record in the workspace table in the schema for organization data.