JSM Data Center: Assets (prev. Insight): Unable to create any new object type after creating an Object Schema with the "Empty Object Schema" template
Platform Notice: Data Center Only - This article only applies to Atlassian products on the Data Center platform.
Note that this KB was created for the Data Center version of the product. Data Center KBs for non-Data-Center-specific features may also work for Server versions of the product, however they have not been tested. Support for Server* products ended on February 15th 2024. If you are running a Server product, you can visit the Atlassian Server end of support announcement to review your migration options.
*Except Fisheye and Crucible
Summary
We can run into a situation where after creating an object schema using the "Empty Object schema" option does not allow us to create any new object types.

This problem may manifest in the following behaviours with very little to no logging to understand what might be going wrong. For example:
Clicking on the "Create Object Type" button does nothing in the UI - the Create Object Type pop-up window does not open
There will be no error found in the HAR file
No error will be recorded in application logs
Trying to import an object schema using Importing and exporting object schemas mechanism, doesn't create any object type and hence fails to import any object. It does record the following errors in the application logs but doesn't point to the actual problem:
1
2
3
4
5
2025-02-03 10:08:54,012 [insight-InsightThreadGroup-worker-thread-2] | Unable to insert object type ObjectTypeBean [id=1728, name=ABCD] will skip this object type
java.lang.IndexOutOfBoundsException: Index 0 out of bounds for length 0
...
at com.riadalabs.jira.plugins.insight.services.imports.schema.ObjectSchemaImportServiceImpl.handleObjectTypeInImport(ObjectSchemaImportServiceImpl.java:643) ~[insight-10.12.1-QR-0296.jar:?]
...
1
2
3
2025-02-03 10:08:54,035 [insight-InsightThreadGroup-worker-thread-2] | Unable to insert object type attributes for ObjectTypeBean [id=2513, name=ABCD] will skip this object type
java.lang.NullPointerException: null
at com.riadalabs.jira.plugins.insight.services.imports.schema.ObjectSchemaImportServiceImpl.handleObjectTypeAttributesInImport(ObjectSchemaImportServiceImpl.java:691) ~[insight-10.12.1-QR-0296.jar:?]
Environment
JSM Data Center with Assets
Diagnosis
Diagnosing this problem is particularly difficult because there's no logging available to point us in the direction of the actual problem. However, if you're reading this KB and any of the situation described in the Summary is happening to you, then check this to confirm if this KB applies to you.
As an Assets Administrator, go to Assets >> Configure >> Icons to check if there are any Global Icon images found
Alternatively, you can also run this SQL query to verify that the Global Icon list is empty:
1
SELECT * FROM "AO_8542F1_IFJ_ICON" icon WHERE icon."OBJECT_SCHEMA_ID" IS NULL;
ℹ️ The NULLs in OBJECT_SCHEMA_ID are for the Global Icons - and if the above query returns empty, it means you don't have any Global Icons and this KB applies to you.
Cause
If there are no Global Icons existing, then the Empty Object Schema would have no icon to begin with when you attempt to create an Object Type. Without any Global Icon, the create Object Type pop-up window does not load and Object Schema import would be unable to create any new object type because the Object Icon is an mandatory field to be populated for all object types.
Solution
(⚠️ Not recommended) POC solution:
Just add at least one Icon in the Assets >> Configure >> Icons and then Upload Icon
Having at least one global icon will unlock the Object Type creation but all object types will be created with the same Icon and hence it's not recommended
(✅ Recommended) Solution:
In order to recreate the default global icons, we need to re-initiate the DB upgrade job with the following SQL queries and then restart Jira:
Run the following SQL queries (tested for PostgreSQL - convert to your own DB vendor):
1 2 3 4 5
UPDATE propertystring SET propertyvalue = '40' WHERE id = (SELECT id FROM propertyentry WHERE property_key = 'com.riadalabs.jira.plugins.insight:build');
1 2 3 4 5 6
UPDATE propertystring SET propertyvalue = 'FALSE' WHERE id = ( SELECT id FROM propertyentry WHERE property_key = 'insight_new_icon_set');
Then Restart Jira
During the restart, you should see the following line in the jira restart logs confirming that it's creating the Global Object Icons:
1
2025-02-13 15:53:49,646+0000 JIRA-Bootstrap INFO [c.r.j.plugins.insight.upgrade] Upgrade task finished (buildNumber=41) : Add new icon set
Was this helpful?