Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Info
Excerpt

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

Image Added


Image Added


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. 


Image Added

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

Image Added

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


Image Added

Object type id you can see inside Insight in Jira


Image Added

You can see it's id in the detailed view

Image Added


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

Image Added


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


Image Added

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

Code Block
/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.

Expand
titleClick here to expand and see JSON output
Code Block
{
 "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"
}