Skip to end of banner
Go to start of banner

Atlassian

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

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.

assets dm.png

Core Elements:

  • Object Schema “A”

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

      • object 1 (“MS Offie”)

        • child object 1-1 (“Word”)

          • attribute

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

 Here’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.

Each object schema is distinct and holds unique information in the form of

  • object types,

  • objects,

  • attributes,

  • icons,

  • references,

  • and statuses.

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

The table uses the following columns:

 Created at

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

SQL name

created_at

Data type

Datetime

 Description*

The description of the object schema.

SQL name

description

Data type

String

 Key*

The key associated with the object schema.

SQL name

key

Data type

String

 Name*

The name of the object schema.

SQL name

name

Data type

String

 Object schema ID

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

SQL name

object_schema_id

Data type

String

 Object schema reference*

The identifier of the object schema used at the instance level.

SQL name

object_schema_ref

Data type

String

 Updated at

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

SQL name

updated_at

Data type

Datetime

 Workspace 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

 probably 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:

  • Name

  • Key

  • Created Date

  • Last Updated Date

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.

The table uses the following columns:

 Created at

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

SQL name

created_at

Data type

Datetime

 Description*

The description of the object type in the schema.

SQL name

description

Data type

String

 Does pass attributes to child objects*

Indicates whether the object type passes its attributes to child objects.

The value is true if does; otherwise, it is false.

SQL name

does_pass_attributes_to_child_objects

Data type

Boolean

 Is abstract*

Indicates whether the object is abstract or not.

The value is true if the object is abstract; otherwise, it is false.

SQL name

is_abstract

Data type

Boolean

 Name*

The name of the object type in the schema.

SQL name

name

Data type

String

 Parent type ID

The unique identifier of the parent object type.

SQL name

parent_type_id

Data type

String

Foreign key

Links to another record in this table.

 Type 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

 Type reference*

The identifier of the object type.

SQL name

type_ref

Data type

String

 Updated at

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

SQL name

updated_at

Data type

Datetime

 Workspace 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:

 Created at

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

SQL name

created_at

Data type

Datetime

 Key*

The key associated with the object.

SQL name

key

Data type

String

 Label*

The name of the object.

SQL name

label

Data type

String

 Object ID

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

SQL name

object_id

Data type

String

 Object reference*

The identifier of the object type.

SQL name

object_ref

Data type

String

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

 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.

 Updated at

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

SQL name

updated_at

Data type

Datetime

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

 Types 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 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:

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

 Attribute 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

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

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

 Workspace 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:

 Field ID

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

SQL name

field_id

Data type

String

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

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

 Workspace 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

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.

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.

Options

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

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

 Attributes additional 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.

  • No labels