This tutorial helps you to understand how to use Insight objects in ConfiForms, how to access the data these objects have and how to make a dependent fields (where the choice in one field results in the reduced umber of options available in another field)


Imagine we have the following structure in Jira Insight database for our assets



We have hosts and connected devices, where connected devices belong to a certain host and we want to have a form in ConfiForms which will list us all the hosts and devices and will make the list of devices dependent on the selection made in hosts field. 


This is totally possible with ConfiForms app for Confluence. 

And here is how it can be done.

We use "Insight objects dropdown" field in ConfiForms

And setup the fields to show the objects of a "hosts" and "devices" types

This is done by setting up a proper type ID in the "Insight Object Type ID" parameter


Object type id you can see inside Insight in Jira


You can see it's id in the detailed view


To make the fields dependent you need to understand how they are linked in Insight

You need to see the attributes and it's ID's, as we will need to make our filtering based on correct attribute


And looking at how "Devices" are linked to "Hosts"


Now we need to check how the REST API call looks like for the particular device to see how the data looks like. As integration between ConfiForms and Riada's Insight is done through the REST APIs

We will call the following REST API service

/jira/rest/insight/1.0/object/3

to load the structure for our device (which has ID = 3).

Unfortunately the JSON structure returned by Riada's Insight is not very user friendly, but contains the data we need and can be understood by ConfiForms, which is great.

{
 "id": 3,
 "label": "device 1",
 "objectKey": "ITS-3",
 "avatar": {
  "url16": "http://vertuna-dev:2990/jira/rest/insight/1.0/objecttype/3/icon.png?size=16&uuid=6341487f-46d1-4df5-b049-91a50eeac778",
  "url48": "http://vertuna-dev:2990/jira/rest/insight/1.0/objecttype/3/icon.png?size=48&uuid=6341487f-46d1-4df5-b049-91a50eeac778",
  "url72": "http://vertuna-dev:2990/jira/rest/insight/1.0/objecttype/3/icon.png?size=72&uuid=6341487f-46d1-4df5-b049-91a50eeac778",
  "url144": "http://vertuna-dev:2990/jira/rest/insight/1.0/objecttype/3/icon.png?size=144&uuid=6341487f-46d1-4df5-b049-91a50eeac778",
  "url288": "http://vertuna-dev:2990/jira/rest/insight/1.0/objecttype/3/icon.png?size=288&uuid=6341487f-46d1-4df5-b049-91a50eeac778",
  "objectId": 3
 },
 "objectType": {
  "id": 3,
  "name": "Connected Device",
  "type": 0,
  "description": "",
  "icon": {
   "id": 149,
   "name": "Connected Device",
   "url16": "http://vertuna-dev:2990/jira/rest/insight/1.0/objecttype/3/icon.png?size=16&inherited=false&abstract=false&time=1572434653742",
   "url48": "http://vertuna-dev:2990/jira/rest/insight/1.0/objecttype/3/icon.png?size=48&inherited=false&abstract=false&time=1572434653742"
  },
  "position": 0,
  "created": "30/Oct/19 1:24 PM",
  "updated": "30/Oct/19 1:24 PM",
  "objectCount": 0,
  "parentObjectTypeId": 2,
  "objectSchemaId": 1,
  "inherited": false,
  "abstractObjectType": false,
  "parentObjectTypeInherited": false
 },
 "created": "30/Oct/19 1:37 PM",
 "updated": "30/Oct/19 1:37 PM",
 "hasAvatar": false,
 "timestamp": 1572435421712,
 "attributes": [
  {
   "id": 14,
   "objectTypeAttribute": {
    "id": 9,
    "name": "Key",
    "label": false,
    "type": 0,
    "defaultType": {
     "id": 0,
     "name": "Text"
    },
    "editable": false,
    "system": true,
    "sortable": true,
    "summable": false,
    "minimumCardinality": 1,
    "maximumCardinality": 1,
    "removable": false,
    "hidden": false,
    "includeChildObjectTypes": false,
    "uniqueAttribute": false,
    "options": "",
    "position": 0
   },
   "objectTypeAttributeId": 9,
   "objectAttributeValues": [
    {
     "value": "ITS-3",
     "displayValue": "ITS-3"
    }
   ],
   "objectId": 3,
   "position": 0
  },
  {
   "id": 17,
   "objectTypeAttribute": {
    "id": 10,
    "name": "Name",
    "label": true,
    "type": 0,
    "defaultType": {
     "id": 0,
     "name": "Text"
    },
    "editable": true,
    "system": false,
    "sortable": true,
    "summable": false,
    "minimumCardinality": 1,
    "maximumCardinality": 1,
    "removable": false,
    "hidden": false,
    "includeChildObjectTypes": false,
    "uniqueAttribute": false,
    "options": "",
    "position": 1
   },
   "objectTypeAttributeId": 10,
   "objectAttributeValues": [
    {
     "value": "device 1",
     "displayValue": "device 1"
    }
   ],
   "objectId": 3,
   "position": 1
  },
  {
   "id": 15,
   "objectTypeAttribute": {
    "id": 11,
    "name": "Created",
    "label": false,
    "type": 0,
    "defaultType": {
     "id": 6,
     "name": "DateTime"
    },
    "editable": false,
    "system": true,
    "sortable": true,
    "summable": false,
    "minimumCardinality": 1,
    "maximumCardinality": 1,
    "removable": false,
    "hidden": false,
    "includeChildObjectTypes": false,
    "uniqueAttribute": false,
    "options": "",
    "position": 2
   },
   "objectTypeAttributeId": 11,
   "objectAttributeValues": [
    {
     "value": "30/Oct/19 1:37 PM",
     "displayValue": "30/Oct/19 1:37 PM"
    }
   ],
   "objectId": 3,
   "position": 2
  },
  {
   "id": 16,
   "objectTypeAttribute": {
    "id": 12,
    "name": "Updated",
    "label": false,
    "type": 0,
    "defaultType": {
     "id": 6,
     "name": "DateTime"
    },
    "editable": false,
    "system": true,
    "sortable": true,
    "summable": false,
    "minimumCardinality": 1,
    "maximumCardinality": 1,
    "removable": false,
    "hidden": false,
    "includeChildObjectTypes": false,
    "uniqueAttribute": false,
    "options": "",
    "position": 3
   },
   "objectTypeAttributeId": 12,
   "objectAttributeValues": [
    {
     "value": "30/Oct/19 1:37 PM",
     "displayValue": "30/Oct/19 1:37 PM"
    }
   ],
   "objectId": 3,
   "position": 3
  },
  {
   "objectTypeAttribute": {
    "id": 77,
    "name": "Device ID",
    "label": false,
    "type": 0,
    "defaultType": {
     "id": 0,
     "name": "Text"
    },
    "editable": true,
    "system": false,
    "sortable": true,
    "summable": false,
    "minimumCardinality": 0,
    "maximumCardinality": 1,
    "removable": true,
    "hidden": false,
    "includeChildObjectTypes": false,
    "uniqueAttribute": false,
    "options": "",
    "position": 4
   },
   "objectTypeAttributeId": 77,
   "objectAttributeValues": [

   ],
   "objectId": 3,
   "position": 4
  },
  {
   "objectTypeAttribute": {
    "id": 78,
    "name": "Status",
    "label": false,
    "type": 7,
    "editable": true,
    "system": false,
    "sortable": true,
    "summable": false,
    "minimumCardinality": 0,
    "maximumCardinality": 1,
    "removable": true,
    "hidden": false,
    "includeChildObjectTypes": false,
    "uniqueAttribute": false,
    "options": "",
    "position": 5
   },
   "objectTypeAttributeId": 78,
   "objectAttributeValues": [

   ],
   "objectId": 3,
   "position": 5
  },
  {
   "id": 13,
   "objectTypeAttribute": {
    "id": 79,
    "name": "Host",
    "label": false,
    "type": 1,
    "referenceType": {
     "id": 11,
     "name": "Installed",
     "color": "C79D94",
     "url16": "http://vertuna-dev:2990/jira/plugins/servlet/com.riadalabs.jira.plugins.insight/referencetype.png?id=11&size=16",
     "removable": false,
     "objectSchemaId": 1
    },
    "referenceObjectTypeId": 2,
    "referenceObjectType": {
     "id": 2,
     "name": "Host",
     "type": 0,
     "description": "",
     "icon": {
      "id": 153,
      "name": "Host",
      "url16": "http://vertuna-dev:2990/jira/rest/insight/1.0/objecttype/2/icon.png?size=16&inherited=false&abstract=false&time=1572434653734",
      "url48": "http://vertuna-dev:2990/jira/rest/insight/1.0/objecttype/2/icon.png?size=48&inherited=false&abstract=false&time=1572434653734"
     },
     "position": 0,
     "created": "30/Oct/19 1:24 PM",
     "updated": "30/Oct/19 1:24 PM",
     "objectCount": 0,
     "parentObjectTypeId": 1,
     "objectSchemaId": 1,
     "inherited": false,
     "abstractObjectType": false,
     "parentObjectTypeInherited": false
    },
    "editable": true,
    "system": false,
    "sortable": true,
    "summable": false,
    "minimumCardinality": 0,
    "maximumCardinality": -1,
    "removable": true,
    "hidden": false,
    "includeChildObjectTypes": true,
    "uniqueAttribute": false,
    "options": "",
    "position": 6
   },
   "objectTypeAttributeId": 79,
   "objectAttributeValues": [
    {
     "referencedObject": {
      "id": 2,
      "label": "another host",
      "objectKey": "ITS-2",
      "avatar": {
       "url16": "http://vertuna-dev:2990/jira/rest/insight/1.0/objecttype/2/icon.png?size=16&uuid=6a49b7fe-b69d-4e2a-a74a-d23cf3e84eb7",
       "url48": "http://vertuna-dev:2990/jira/rest/insight/1.0/objecttype/2/icon.png?size=48&uuid=6a49b7fe-b69d-4e2a-a74a-d23cf3e84eb7",
       "url72": "http://vertuna-dev:2990/jira/rest/insight/1.0/objecttype/2/icon.png?size=72&uuid=6a49b7fe-b69d-4e2a-a74a-d23cf3e84eb7",
       "url144": "http://vertuna-dev:2990/jira/rest/insight/1.0/objecttype/2/icon.png?size=144&uuid=6a49b7fe-b69d-4e2a-a74a-d23cf3e84eb7",
       "url288": "http://vertuna-dev:2990/jira/rest/insight/1.0/objecttype/2/icon.png?size=288&uuid=6a49b7fe-b69d-4e2a-a74a-d23cf3e84eb7",
       "objectId": 2
      },
      "objectType": {
       "id": 2,
       "name": "Host",
       "type": 0,
       "description": "",
       "icon": {
        "id": 153,
        "name": "Host",
        "url16": "http://vertuna-dev:2990/jira/rest/insight/1.0/objecttype/2/icon.png?size=16&inherited=false&abstract=false&time=1572434653734",
        "url48": "http://vertuna-dev:2990/jira/rest/insight/1.0/objecttype/2/icon.png?size=48&inherited=false&abstract=false&time=1572434653734"
       },
       "position": 0,
       "created": "30/Oct/19 1:24 PM",
       "updated": "30/Oct/19 1:24 PM",
       "objectCount": 0,
       "parentObjectTypeId": 1,
       "objectSchemaId": 1,
       "inherited": false,
       "abstractObjectType": false,
       "parentObjectTypeInherited": false
      },
      "created": "30/Oct/19 1:36 PM",
      "updated": "30/Oct/19 1:36 PM",
      "hasAvatar": false,
      "timestamp": 1572435390277,
      "_links": {
       "self": "http://vertuna-dev:2990/jira/secure/ShowObject.jspa?id=2"
      },
      "name": "another host"
     },
     "displayValue": "another host"
    }
   ],
   "objectId": 3,
   "position": 6
  },
  {
   "objectTypeAttribute": {
    "id": 80,
    "name": "Object Hash",
    "label": false,
    "type": 0,
    "defaultType": {
     "id": 0,
     "name": "Text"
    },
    "editable": true,
    "system": false,
    "sortable": true,
    "summable": false,
    "minimumCardinality": 0,
    "maximumCardinality": 1,
    "removable": true,
    "hidden": false,
    "includeChildObjectTypes": false,
    "uniqueAttribute": false,
    "options": "",
    "position": 7
   },
   "objectTypeAttributeId": 80,
   "objectAttributeValues": [

   ],
   "objectId": 3,
   "position": 7
  },
  {
   "objectTypeAttribute": {
    "id": 81,
    "name": "Manufacturer",
    "label": false,
    "type": 0,
    "defaultType": {
     "id": 0,
     "name": "Text"
    },
    "editable": true,
    "system": false,
    "sortable": true,
    "summable": false,
    "minimumCardinality": 0,
    "maximumCardinality": 1,
    "removable": true,
    "hidden": false,
    "includeChildObjectTypes": false,
    "uniqueAttribute": false,
    "options": "",
    "position": 8
   },
   "objectTypeAttributeId": 81,
   "objectAttributeValues": [

   ],
   "objectId": 3,
   "position": 8
  },
  {
   "objectTypeAttribute": {
    "id": 82,
    "name": "Default",
    "label": false,
    "type": 0,
    "defaultType": {
     "id": 0,
     "name": "Text"
    },
    "editable": true,
    "system": false,
    "sortable": true,
    "summable": false,
    "minimumCardinality": 0,
    "maximumCardinality": 1,
    "removable": true,
    "hidden": false,
    "includeChildObjectTypes": false,
    "uniqueAttribute": false,
    "options": "",
    "position": 9
   },
   "objectTypeAttributeId": 82,
   "objectAttributeValues": [

   ],
   "objectId": 3,
   "position": 9
  },
  {
   "objectTypeAttribute": {
    "id": 83,
    "name": "Network",
    "label": false,
    "type": 0,
    "defaultType": {
     "id": 0,
     "name": "Text"
    },
    "editable": true,
    "system": false,
    "sortable": true,
    "summable": false,
    "minimumCardinality": 0,
    "maximumCardinality": 1,
    "removable": true,
    "hidden": false,
    "includeChildObjectTypes": false,
    "uniqueAttribute": false,
    "options": "",
    "position": 10
   },
   "objectTypeAttributeId": 83,
   "objectAttributeValues": [

   ],
   "objectId": 3,
   "position": 10
  },
  {
   "objectTypeAttribute": {
    "id": 84,
    "name": "Local",
    "label": false,
    "type": 0,
    "defaultType": {
     "id": 0,
     "name": "Text"
    },
    "editable": true,
    "system": false,
    "sortable": true,
    "summable": false,
    "minimumCardinality": 0,
    "maximumCardinality": 1,
    "removable": true,
    "hidden": false,
    "includeChildObjectTypes": false,
    "uniqueAttribute": false,
    "options": "",
    "position": 11
   },
   "objectTypeAttributeId": 84,
   "objectAttributeValues": [

   ],
   "objectId": 3,
   "position": 11
  },
  {
   "objectTypeAttribute": {
    "id": 85,
    "name": "Shared",
    "label": false,
    "type": 0,
    "defaultType": {
     "id": 0,
     "name": "Text"
    },
    "editable": true,
    "system": false,
    "sortable": true,
    "summable": false,
    "minimumCardinality": 0,
    "maximumCardinality": 1,
    "removable": true,
    "hidden": false,
    "includeChildObjectTypes": false,
    "uniqueAttribute": false,
    "options": "",
    "position": 12
   },
   "objectTypeAttributeId": 85,
   "objectAttributeValues": [

   ],
   "objectId": 3,
   "position": 12
  },
  {
   "objectTypeAttribute": {
    "id": 86,
    "name": "MonitorType",
    "label": false,
    "type": 0,
    "defaultType": {
     "id": 0,
     "name": "Text"
    },
    "editable": true,
    "system": false,
    "sortable": true,
    "summable": false,
    "minimumCardinality": 0,
    "maximumCardinality": 1,
    "removable": true,
    "hidden": false,
    "includeChildObjectTypes": false,
    "uniqueAttribute": false,
    "options": "",
    "position": 13
   },
   "objectTypeAttributeId": 86,
   "objectAttributeValues": [

   ],
   "objectId": 3,
   "position": 13
  },
  {
   "objectTypeAttribute": {
    "id": 87,
    "name": "ScreenHeight",
    "label": false,
    "type": 0,
    "defaultType": {
     "id": 0,
     "name": "Text"
    },
    "editable": true,
    "system": false,
    "sortable": true,
    "summable": false,
    "minimumCardinality": 0,
    "maximumCardinality": 1,
    "removable": true,
    "hidden": false,
    "includeChildObjectTypes": false,
    "uniqueAttribute": false,
    "options": "",
    "position": 14
   },
   "objectTypeAttributeId": 87,
   "objectAttributeValues": [

   ],
   "objectId": 3,
   "position": 14
  },
  {
   "objectTypeAttribute": {
    "id": 88,
    "name": "ScreenWidth",
    "label": false,
    "type": 0,
    "defaultType": {
     "id": 0,
     "name": "Text"
    },
    "editable": true,
    "system": false,
    "sortable": true,
    "summable": false,
    "minimumCardinality": 0,
    "maximumCardinality": 1,
    "removable": true,
    "hidden": false,
    "includeChildObjectTypes": false,
    "uniqueAttribute": false,
    "options": "",
    "position": 15
   },
   "objectTypeAttributeId": 88,
   "objectAttributeValues": [

   ],
   "objectId": 3,
   "position": 15
  },
  {
   "objectTypeAttribute": {
    "id": 89,
    "name": "Port",
    "label": false,
    "type": 0,
    "defaultType": {
     "id": 0,
     "name": "Text"
    },
    "editable": true,
    "system": false,
    "sortable": true,
    "summable": false,
    "minimumCardinality": 0,
    "maximumCardinality": 1,
    "removable": true,
    "hidden": false,
    "includeChildObjectTypes": false,
    "uniqueAttribute": false,
    "options": "",
    "position": 16
   },
   "objectTypeAttributeId": 89,
   "objectAttributeValues": [

   ],
   "objectId": 3,
   "position": 16
  },
  {
   "objectTypeAttribute": {
    "id": 90,
    "name": "MediaType",
    "label": false,
    "type": 0,
    "defaultType": {
     "id": 0,
     "name": "Text"
    },
    "editable": true,
    "system": false,
    "sortable": true,
    "summable": false,
    "minimumCardinality": 0,
    "maximumCardinality": 1,
    "removable": true,
    "hidden": false,
    "includeChildObjectTypes": false,
    "uniqueAttribute": false,
    "options": "",
    "position": 17
   },
   "objectTypeAttributeId": 90,
   "objectAttributeValues": [

   ],
   "objectId": 3,
   "position": 17
  },
  {
   "objectTypeAttribute": {
    "id": 91,
    "name": "ShareName",
    "label": false,
    "type": 0,
    "defaultType": {
     "id": 0,
     "name": "Text"
    },
    "editable": true,
    "system": false,
    "sortable": true,
    "summable": false,
    "minimumCardinality": 0,
    "maximumCardinality": 1,
    "removable": true,
    "hidden": false,
    "includeChildObjectTypes": false,
    "uniqueAttribute": false,
    "options": "",
    "position": 18
   },
   "objectTypeAttributeId": 91,
   "objectAttributeValues": [

   ],
   "objectId": 3,
   "position": 18
  },
  {
   "objectTypeAttribute": {
    "id": 92,
    "name": "FirmwareRevision",
    "label": false,
    "type": 0,
    "defaultType": {
     "id": 0,
     "name": "Text"
    },
    "editable": true,
    "system": false,
    "sortable": true,
    "summable": false,
    "minimumCardinality": 0,
    "maximumCardinality": 1,
    "removable": true,
    "hidden": false,
    "includeChildObjectTypes": false,
    "uniqueAttribute": false,
    "options": "",
    "position": 19
   },
   "objectTypeAttributeId": 92,
   "objectAttributeValues": [

   ],
   "objectId": 3,
   "position": 19
  },
  {
   "objectTypeAttribute": {
    "id": 93,
    "name": "Model",
    "label": false,
    "type": 0,
    "defaultType": {
     "id": 0,
     "name": "Text"
    },
    "editable": true,
    "system": false,
    "sortable": true,
    "summable": false,
    "minimumCardinality": 0,
    "maximumCardinality": 1,
    "removable": true,
    "hidden": false,
    "includeChildObjectTypes": false,
    "uniqueAttribute": false,
    "options": "",
    "position": 20
   },
   "objectTypeAttributeId": 93,
   "objectAttributeValues": [

   ],
   "objectId": 3,
   "position": 20
  }
 ],
 "extendedInfo": {
  "openIssuesExists": false,
  "attachmentsExists": false
 },
 "_links": {
  "self": "http://vertuna-dev:2990/jira/secure/ShowObject.jspa?id=3"
 },
 "name": "device 1"
}