Legacy Dev Forum Posts

 View Only

Sign Up

Data Actions: convert string to integer in sucessTemplate

  • 1.  Data Actions: convert string to integer in sucessTemplate

    Posted 06-05-2025 19:11

    Irina | 2021-09-29 17:39:32 UTC | #1

    Hi, I'm trying to calculate the number of users that are online and active for a specific queue using /api/v2/analytics/queues/observations/query API. My response configuration looks as follows: { "translationMap": { "oActiveUserCount": "$.results[0].data[?(@.metric=='oActiveUsers')].stats.count", "oOfflineQueueUserCount": "$.results[0].data[?(@.metric=='oOffQueueUsers' && @.qualifier==$.systemToOrganizationMappings.OFFLINE[0])].stats.count" }, "translationMapDefaults": {}, "successTemplate": "#set($oOnlineUserCount = ${successTemplateUtils.firstFromArray(${oActiveUserCount},\"0\")} - ${successTemplateUtils.firstFromArray(${oOfflineQueueUserCount},\"0\")}) { \"ONLINEUSERCOUNT\": $oOnlineUserCount}"

    } When I run my data action, I receive the following error message: * *10. Apply output transformation: Transform failed to process result using 'successTemplate' template due to error:'Reference $oOnlineUserCount evaluated to null when attempting to render at successTemplate[line 1, column 187]' Template:'#set($oOnlineUserCount = ${successTemplateUtils.firstFromArray(${oActiveUserCount},"0")} - ${successTemplateUtils.firstFromArray(${oOfflineQueueUserCount},"0")}) { "ONLINEUSERCOUNT": $oOnlineUserCount}'.**

    I think the problem is in data types: firstFromArray returns String, instead of Integer. Is it possible to convert it to Integer in successTemplate?

    Regards, Irina


    Jerome.Saint-Marc | 2021-09-30 11:23:45 UTC | #2

    Hello,

    The following response configuration should work:

    { "translationMap": { "oActiveUserCount": "$.results[0].data[?(@.metric=='oActiveUsers')].stats.count", "oOfflineQueueUserCount": "$.results[0].data[?(@.metric=='oOffQueueUsers' && @.qualifier==$.systemToOrganizationMappings.OFFLINE[0])].stats.count" }, "translationMapDefaults": { "oActiveUserCount": "[]", "oOfflineQueueUserCount": "[]" }, "successTemplate": "{\"ONLINEUSERCOUNT\": $math.sub(${successTemplateUtils.firstFromArray(\"${oActiveUserCount}\",\"0\")},${successTemplateUtils.firstFromArray(\"${oOfflineQueueUserCount}\",\"0\")})}" }

    Regards,


    Irina | 2021-09-30 11:23:39 UTC | #3

    Thank you Jerome, it works!


    system | 2021-10-31 11:24:02 UTC | #4

    This topic was automatically closed 31 days after the last reply. New replies are no longer allowed.


    This post was migrated from the old Developer Forum.

    ref: 12188