Workflow Iterate Trigger Input

Hi,

I am facing challenges in getting the right trigger input from “Provisioning Completed”

I am trying to obtain “Create” operation for my specific source “STG-SOME-AD”. However in the trigger input, it contains other events which I am not sure how do I able to read the right Json element from the trigger input

“$.accountRequests[?(@.provisioningResult==‘committed’ && @.accountOperation==‘Create’ && @.source.name==‘STG-SOME-AD’)]”

This is my trigger input.

 {
   "input": {
      "_meta": {
         "invocationId": "f221865b-f92a-4b9e-829c-1f3c649331a1",
         "subscriptionId": "53fd3703-8f5e-4f80-aa97-6848b2b5e6b1",
         "triggerType": "FIRE_AND_FORGET"
      },
      "accountRequests": [
         {
            "accountId": "JOSHUA LAN",
            "accountOperation": "Modify",
            "attributeRequests": [
               {
                  "attributeName": "assignedRoles",
                  "attributeValue": "SOME_Role [cloudRole-SOMEVALUE]",
                  "operation": "Add"
               },
               {
                  "attributeName": "assignedRoles",
                  "attributeValue": "SOMEVALUE [cloudRole-SOMEVALUE]",
                  "operation": "Add"
               },
               {
                  "attributeName": "assignedRoles",
                  "attributeValue": "TEST-Identities - onboarding [cloudLifecycle-SOMEVALUE]",
                  "operation": "Add"
               }
            ],
            "provisioningResult": "IdentityNow Task",
            "provisioningTarget": "IdentityNow",
            "source": {
               "id": "IdentityNow",
               "name": "IdentityNow",
               "type": "SOURCE"
            },
            "ticketId": null
         },
         {
            "accountId": "CN=JOLANFOURZERO,OU=somevalue,DC=somevalue,DC=com,DC=sg",
            "accountOperation": "Create",
            "attributeRequests": [
               {
                  "attributeName": "memberOf",
                  "attributeValue": "some value",
                  "operation": "Add"
               }
            ],
            "provisioningResult": "committed",
            "provisioningTarget": "STG-SOME-AD",
            "source": {
               "id": "56159ae6df9b465f84278e714",
               "name": "STG-SOME-AD",
               "type": "SOURCE"
            },
            "ticketId": null
         }
      ],
      "action": "Identity Refresh",
      "errors": [],
      "recipient": {
         "id": "64b15ca821d8467ea363e01006d1c691",
         "name": "JOSHUA LAN",
         "type": "IDENTITY"
      },
      "requester": null,
      "sources": "IdentityNow, STG-SOME-AD",
      "trackingNumber": "ee7b80vr0a0fds4f4dbg43g5292f07e91cf9d6",
      "warnings": []
   }
}

Hi @jolan ,
could you please try this ?
$.accountRequests[?(@.provisioningResult == ‘committed’ && @.provisioningTarget == ‘STG-SOME-AD’ && @.accountOperation==‘Create’)]

Gourab,

Not working. The filter you proposed does remove the IdentityNow as the trigger payload came in as one event.

Hence as what i done for this case, I’ll just loop through the payload from the event.