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

Take a note that the attribute we are interested in has and ID = 79. We will need this later.


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 (https://documentation.riada.io/display/INSSERV/Version+1.0+documentation)


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"
}


This is important bits that we need to get from the example JSON

We need to look at attribute with ID 79 and check how the objects are linked, which attribute is responsible and how the data is stored


Code Block
 "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"
    }
   ],


This will tell us the the link is stored in the "referencedObject" node, under "id" attribute and this will help us to make a correct expression for the filtering in our ConfiForms Rules for Field Definition macro configuration


Image Added

Image Added

Image Added


Where actual expression for the filter looks like this:


Code Block
devices.attributes.objectTypeAttribute(objectTypeAttributeId=79).objectAttributeValues.referencedObject.id:[entry.hosts.id]


Which reads as - filter "devices" by referencedObject's id property whcih is available under attribute number 79 and check it against the current selection in the "hosts" field


Now you have a fully working example of a ConfiForms form that has 2 dependent Insight fields.

Full code for the form is here:

Code Block
<p class="auto-cursor-target">
  <br/>
</p><ac:structured-macro ac:name="confiform" ac:schema-version="1" ac:macro-id="2a72b451-7d52-4802-83c0-320f7017dc38">
<ac:parameter ac:name="formName">myform1</ac:parameter>
<ac:rich-text-body>
  <p class="auto-cursor-target">
    <br/>
  </p>
  <ac:structured-macro ac:name="confiform-entry-register" ac:schema-version="1"
                       ac:macro-id="b868bdae-a52b-4008-9187-46ebdbf105d3">
    <ac:parameter ac:name="atlassian-macro-output-type">INLINE</ac:parameter>
    <ac:rich-text-body>
      <p>
        <br/>
      </p>
    </ac:rich-text-body>
  </ac:structured-macro>
  <p class="auto-cursor-target">
    <ac:structured-macro ac:name="confiform-field-definition" ac:schema-version="1"
                         ac:macro-id="d8db23fc-ad9c-46db-9611-263cd38af5f3">
      <ac:parameter ac:name="fieldName">hosts</ac:parameter>
      <ac:parameter ac:name="fieldLabel">Hosts</ac:parameter>
      <ac:parameter ac:name="values">2</ac:parameter>
      <ac:parameter ac:name="type">insightselect</ac:parameter>
      <ac:parameter ac:name="separator">true</ac:parameter>
    </ac:structured-macro>
  </p>
  <p>
    <ac:structured-macro ac:name="confiform-field-definition" ac:schema-version="1"
                         ac:macro-id="d343a87b-a122-4d43-b878-9f1be81ca55e">
      <ac:parameter ac:name="fieldName">devices</ac:parameter>
      <ac:parameter ac:name="fieldLabel">Devices</ac:parameter>
      <ac:parameter ac:name="values">3</ac:parameter>
      <ac:parameter ac:name="type">insightselect</ac:parameter>
      <ac:parameter ac:name="separator">true</ac:parameter>
    </ac:structured-macro>
  </p>
  <p>
    <br/>
  </p>
  <p>
    <ac:structured-macro ac:name="confiform-field-definition-rules" ac:schema-version="1"
                         ac:macro-id="e75fc6ef-9a1d-42f4-b5eb-07c2f96c4d3f">
      <ac:parameter ac:name="condition">!hosts:[empty]</ac:parameter>
      <ac:parameter ac:name="fieldName">devices</ac:parameter>
      <ac:parameter ac:name="values">
        devices.attributes.objectTypeAttribute(objectTypeAttributeId=79).objectAttributeValues.referencedObject.id:[entry.hosts.id]
      </ac:parameter>
      <ac:parameter ac:name="action">Apply Filter on a field</ac:parameter>
      <ac:parameter ac:name="actionFieldName">hosts</ac:parameter>
    </ac:structured-macro>
  </p>
  <p>
    <br/>
  </p>
</ac:rich-text-body>
</ac:structured-macro>
<p>
<br/>
</p>