Update multiple attributes from a single Insight post-function

XMLWordPrintable

    • 1
    • 1

      It looks like the current post function only allows updating a single attribute (attribute with cardinality set to 1).  With conditionals on each post function this is a lot of maintenance and extra processing that isn't necessary. Additionally, this can cause the assets automation to be triggered multiple time.  Also, it seems just as likely that you'd need to update more than one attribute value as you would for a single attribute. Here is an example when we enable debug logging : 

      2026-07-08 14:08:39,245 [insight-event-1] | Found 1 rules for event type(OBJECT_UPDATED), objectBean: Device-1 (TES-1)
      2026-07-08 14:08:39,246 [insight-event-1] | Rule automation object schemaId 2, object key(TES-1)
      2026-07-08 14:08:39,246 [insight-event-1] | Got rule and event for insightObjectAsyncEvent: null, id: 1 - InsightObjectEvent eventType: OBJECT_UPDATED, rule id: 1, name: test aut, isActive true, objectRuleEvent id: 1 and object: Device-1 (TES-1)
      2026-07-08 14:08:39,253 [insight-event-1] | doAction(), called for event class: InsightObjectUpdatedEvent
      2026-07-08 14:08:39,253 [insight-event-1] | Object name: Device-1, id: 1
      2026-07-08 14:08:39,253 [insight-event-1] | Execute Rule action (AutomationAttributeValueAction): Start, id: 1, event [id: 1, aql: No aql], condition: objectType = "Device"
      2026-07-08 14:08:39,253 [insight-event-1] | AutomationAttributeValueAction, data:  {"attributeName":"Log","value":"this was changed"}
      2026-07-08 14:08:39,254 [insight-event-1] | AutomationAttributeValueAction, got attributeName: Log, value: this was changed
      2026-07-08 14:08:39,289 [insight-event-1] | Execute Rule action (AutomationAttributeValueAction): Done, id:1, event [id: 1, aql: No aql, condition: objectType = "Device"
      2026-07-08 14:09:04,303 [insight-event-0] | Found 1 rules for event type(OBJECT_UPDATED), objectBean: Device-1 (TES-1)
      2026-07-08 14:09:04,303 [insight-event-0] | Rule automation object schemaId 2, object key(TES-1)
      2026-07-08 14:09:04,303 [insight-event-0] | Got rule and event for insightObjectAsyncEvent: null, id: 1 - InsightObjectEvent eventType: OBJECT_UPDATED, rule id: 1, name: test aut, isActive true, objectRuleEvent id: 1 and object: Device-1 (TES-1)
      2026-07-08 14:09:04,314 [insight-event-0] | doAction(), called for event class: InsightObjectUpdatedEvent
      2026-07-08 14:09:04,314 [insight-event-0] | Object name: Device-1, id: 1
      2026-07-08 14:09:04,314 [insight-event-0] | Execute Rule action (AutomationAttributeValueAction): Start, id: 1, event [id: 1, aql: No aql], condition: objectType = "Device"
      2026-07-08 14:09:04,314 [insight-event-0] | AutomationAttributeValueAction, data:  {"attributeName":"Log","value":"this was changed"}
      2026-07-08 14:09:04,315 [insight-event-0] | AutomationAttributeValueAction, got attributeName: Log, value: this was changed
      2026-07-08 14:09:04,340 [insight-event-0] | Execute Rule action (AutomationAttributeValueAction): Done, id:1, event [id: 1, aql: No aql, condition: objectType = "Device"
      2026-07-08 14:09:04,360 [insight-event-1] | Found 1 rules for event type(OBJECT_UPDATED), objectBean: Device-1 (TES-1)
      2026-07-08 14:09:04,360 [insight-event-1] | Rule automation object schemaId 2, object key(TES-1)
      2026-07-08 14:09:04,360 [insight-event-1] | Got rule and event for insightObjectAsyncEvent: null, id: 1 - InsightObjectEvent eventType: OBJECT_UPDATED, rule id: 1, name: test aut, isActive true, objectRuleEvent id: 1 and object: Device-1 (TES-1)
      2026-07-08 14:09:04,371 [insight-event-1] | doAction(), called for event class: InsightObjectUpdatedEvent
      2026-07-08 14:09:04,371 [insight-event-1] | Object name: Device-1, id: 1
      2026-07-08 14:09:04,371 [insight-event-1] | Execute Rule action (AutomationAttributeValueAction): Start, id: 1, event [id: 1, aql: No aql], condition: objectType = "Device"
      2026-07-08 14:09:04,371 [insight-event-1] | AutomationAttributeValueAction, data:  {"attributeName":"Log","value":"this was changed"}
      2026-07-08 14:09:04,371 [insight-event-1] | AutomationAttributeValueAction, got attributeName: Log, value: this was changed
      2026-07-08 14:09:04,389 [insight-event-1] | Execute Rule action (AutomationAttributeValueAction): Done, id:1, event [id: 1, aql: No aql, condition: objectType = "Device"
      2026-07-08 14:09:04,418 [insight-event-0] | Found 1 rules for event type(OBJECT_UPDATED), objectBean: Device-1 (TES-1)
      2026-07-08 14:09:04,418 [insight-event-0] | Rule automation object schemaId 2, object key(TES-1)
      2026-07-08 14:09:04,418 [insight-event-0] | Got rule and event for insightObjectAsyncEvent: null, id: 1 - InsightObjectEvent eventType: OBJECT_UPDATED, rule id: 1, name: test aut, isActive true, objectRuleEvent id: 1 and object: Device-1 (TES-1)
      2026-07-08 14:09:04,428 [insight-event-0] | doAction(), called for event class: InsightObjectUpdatedEvent
      2026-07-08 14:09:04,428 [insight-event-0] | Object name: Device-1, id: 1
      2026-07-08 14:09:04,428 [insight-event-0] | Execute Rule action (AutomationAttributeValueAction): Start, id: 1, event [id: 1, aql: No aql], condition: objectType = "Device"
      2026-07-08 14:09:04,428 [insight-event-0] | AutomationAttributeValueAction, data:  {"attributeName":"Log","value":"this was changed"}
      2026-07-08 14:09:04,428 [insight-event-0] | AutomationAttributeValueAction, got attributeName: Log, value: this was changed
      2026-07-08 14:09:04,442 [insight-event-0] | Execute Rule action (AutomationAttributeValueAction): Done, id:1, event [id: 1, aql: No aql, condition: objectType = "Device" 

      there are 3 post-functions firing from a single issue transition, each triggering the automation separately. As we can see, one transition results in 3 OBJECT_UPDATED events and 3 automation events. Updates are not batched.

      Feature request 

      It would be good to batch the updates to avoid multiple automation triggers. 

       

       

              Assignee:
              Unassigned
              Reporter:
              Alex Cooksey (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated: