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
titleHere’s what it looks like in Assets Admin View
  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
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

...

titleKey*

The key associated with the object.

...

SQL name

...

key

...

Data type

  • 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
titleLabel*

The name of the object.

SQL name

label

Data type

String

...

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 .

Text

updated.

Expand
titleTypes of Attribute Data

Attribute type

Type value

Additional value

Description

Default

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 .

Expand
titleTypes of Attribute Data

Attribute type

Type value

Additional value

Description

Default

Text

-

Data type with text representation, often used to show normal text. Max 450 characters.

Boolean

-

Data type with only two possible values: true or false.

Integer

-

Commonly known as a "whole number", is a number that can be written without a fractional component. For example, 21, 4, and −2048 are integers.

This Attributes supports the Long Integer and will allow numbers that range from -2,147,483,648 to +2,147,483,647

Float

-

Data type representing numbers with decimals.

Date

-

Data type representing a Date field.

DateTime

-

Data type representing a Date and Time field.

URL

-

Data type representing an URL field. May be used for URL Ping service that pings the address every 5 minutes from the server side. Watch object to get email notifications on URL Ping Up/Down.

Email

-

Data type representing an email field.

Textarea

-

Data type with text representation, often used to show normal text. Max 450 characters.

Boolean

-

Data type with only two possible values: true or false.

Integer

-

Commonly known as a "whole number", is a number that can be written without a fractional component. For example, 21, 4, and −2048 are integers.

This Attributes supports the Long Integer and will allow numbers that range from -2,147,483,648 to +2,147,483,647

Float

-

Data type representing numbers with decimals.

Date

-

Data type representing a Date field.

DateTime

-

Data type representing a Date and Time field.

URL

-

Data type representing an URL field. May be used for URL Ping service that pings the address every 5 minutes from the server side. Watch object to get email notifications on URL Ping Up/Down.

Email

-

Data type representing an email field.

Textarea

-

Data type with text representation, often used when showing large text. Use Assets rich editor to customize the content. Unlimited characters in comparison to the Text attribute.

For developers: Missing attribute beans

Here’s some info for developers trying to retrieve beans for this attribute using Java API.

Select

-

Data type to represent text values, predefined as options.

IP Address

-

Data type to represent IP Addresses (IPv4)

Object

Assets object

Reference Type

This type enables a reference to another object.

User

Jira group

Show on Profile

This type makes it possible to select a user from the selected Jira group and connect objects with users.

Confluence

Confluence instance

Confluence page

This type enables a link to a Confluence page.

Group

-

Show on Profile

This type makes it possible to select a Jira group and connect object(s) with user(s) in specified groups.

Version

Jira Project

-

This type makes it possible to reference a Jira Version from a specific Jira Project to your object(s).

Project

None

-

This type makes it possible to reference a Jira Project to your object(s).

Status

Allowed Statuses

-

This type is used to set a Status of an object. Define the statuses that should be allowed, and left empty means all statuses allowed.

🔷 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.

When the attribute is a string (for example, an address), it is stored in attribute_value_string. When the attribute is another object, the object_id of that object is stored in attribute_value_object_id.

when showing large text. Use Assets rich editor to customize the content. Unlimited characters in comparison to the Text attribute.

For developers: Missing attribute beans

Here’s some info for developers trying to retrieve beans for this attribute using Java API.

Select

-

Data type to represent text values, predefined as options.

IP Address

-

Data type to represent IP Addresses (IPv4)

Object

Assets object

Reference Type

This type enables a reference to another object.

User

Jira group

Show on Profile

This type makes it possible to select a user from the selected Jira group and connect objects with users.

Confluence

Confluence instance

Confluence page

This type enables a link to a Confluence page.

Group

-

Show on Profile

This type makes it possible to select a Jira group and connect object(s) with user(s) in specified groups.

Version

Jira Project

-

This type makes it possible to reference a Jira Version from a specific Jira Project to your object(s).

Project

None

-

This type makes it possible to reference a Jira Project to your object(s).

Status

Allowed Statuses

-

This type is used to set a Status of an object. Define the statuses that should be allowed, and left empty means all statuses allowed.

🔷 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.

When the attribute is a string (for example, an address), it is stored in attribute_value_string. When the attribute is another object, the object_id of that object is stored in attribute_value_object_id.

The table uses the following columns:

Expand
titleAttribute value object ID

The object_id that’s stored in the value of an attribute.

SQL name

attribute_value_object_id

Data type

String

Foreign key

Links to a record in the asset_object table.

Expand
titleAttribute value string*

The string value of the attribute.

The value is NULL if the attribute type is OBJECT.

SQL name

attribute_value_string

Data type

String

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
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_type_attribute_metadata 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_object_issue_mapping table

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

Expand
titleAttribute value object Field ID

The unique identifier of the field in which the object _id that’s stored in the value of an attributeis stored.

SQL name

field_id

Data type

String

Expand
titleIssue ID

The unique identifier of the Jira issue.

SQL name

attribute

issue_

value_object_

id

Data type

String

Foreign key

Links to a record in the

asset

jira_

object table

issue table in the schema for Jira family of products.

Expand
titleAttribute value string*Object ID

The string value unique identifier of the attributeobject.

The value is NULL if the attribute type is OBJECT.

SQL name

attribute

object_

value_string

id

Data type

String

Foreign key

Links to a record in the asset_object table.

Expand
titleObject Workspace ID

The unique identifier of the objectasset and configuration management workspace.

SQL name

object

workspace_id

Data type

String

Foreign key

Links to a record in the

asset_object table.

workspace table in the schema for organization data.

...

Attribute Configurations

The unique identifier of the object attribute.

Links to a record in the asset_type_attribute_metadata table
Expand
titleType attribute ID

SQL name

type_attribute_id

Data type

String

Foreign key

Cardinality

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.

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.

Image Removed

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

Image RemovedImage Removed

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
Expand
Expand
titleMore 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

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
titleField ID

The unique identifier of the field in which the object is stored.

SQL name

field_id

Data type

String

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. 

Validation

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
titleMore 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.

Image Added

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

Image AddedImage Added

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

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

The date and time (UTC time zone) when the attribute was createddescription
Expand
titleCreated at
Type attribute ID

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

SQL name

created_at

Data type

Datetime

Expand
titleDescription*

The description of the attribute.

SQL name

type_attribute_id

Data type

String

Foreign key

Links to a record in the asset_type_attribute_metadata table.

Expand
titleName*Type ID

The name unique identifier of the attributeobject type.

SQL name

name

type_id

Data type

String

Foreign key

Links to a record in the asset_type table.

Expand
titleType*Workspace ID

The type of the attributeunique identifier of the asset and configuration management workspace.

SQL name

type

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
titleType attribute Object schema ID

The unique identifier of the object attributeschema.

SQL name

type

object_

attribute

schema_id

Data type

String

Foreign key

Links to a record in the asset_object_

attribute

schema table.

Datetime
Expand
titleType attribute reference*ID

The unique identifier of the attributeobject type.

SQL name

type_

attribute_ref

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

SQL name

updated_at

Data type

id

Data type

String

Expand
titleUpdated at

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.