
I've been working in this the last day or so but can't figure out a fix or workaround.
I am migrating an integration we have over from Integration Builder and into Flow. The final step to this has been being able to trigger a form to be sent out.
If I keep the Inbound Integration like we had in the past and run a POST from flow to that integration, everything works fine.
However, if I instead inject a step for "xMatters Create Event", I continually get the below error message, moreover, it doesn't say where it's failing. I am assuming its the step I just mentioned, but is it happening earlier? Maybe the Switch or the preceding step?
Error Msg:
Script failed with message: org.graalvm.polyglot.PolyglotException: SyntaxError: <eval>:214:1324 Expected comma but found ident
if (typeof(input.properties['Application']) !== 'undefined' && !validFormListPropertyInput(input.properties['Application'], [.....
It then proceeds to list every single value from this property we have on this workflow, titled, Application.
The problem with that is that I am not passing all of the applications. In this specific case, I am only passing an array of 3 items and I am doing so explicitly by defining them as the output to the preceding step. I will try and outline an example below...
Step 'Field Comm Escalation':
Input: properties (contains all properties included in a submitted form. Ex. we have 500+ applications available from that property, but only a couple are selected when submitting the form, that is what would be included here, just a few).
Output:
output.send_field_comm_form = 'true';
output.apps = input.properties['Application'];
output.bus_impact = input.properties['Business Impact'];
Then we have a switch which checks for the value of send_field_comm_form, whereby if it is 'true' it then directs to the xMatters Create Event, otherwise it does nothing. I also have lots of logic in the previous step to determine the value of send_field_comm_form, however, nothing is working so I just striped all the code to what you see above with just a hard coded, 'true'.
The xMatters Create Event step includes the outputted values from the previous step in their respective properties values, this of course was not working, so I even tried just typing in some random text, to hard code those values. It still failed. I even tried the above in addition to removing the switch step all together, same result.
What makes matters worse here is that the above error message I included is the only thing I have to go on, when clicking on the event in the activity panel, all of the steps are missing, so I am unable to even check the values of the input/outputs for various steps in this flow chain.
My suspicious is that it is happening as a kind of "pre-check" to the xMatters Create Event step, and so none of the logic in that step ever gets run because something is corrupt, potentially the outputs from the previous step, but I have no way of knowing because it wont show that to me in the activity panel.
Comments
Please sign in to leave a comment.
Michael,
This issue has come up in support before, it is due to the list properties, there is an Enhancement request logged to make it easier to use a list type property, but until something is built, the work around seems to be to create an intermediate step that declares the properties and builds a POST. I am going to hunt down the rep that worked that case to see if he can add some details here.
thanks,
kim
To build on what Kim mentioned above:
There's currently an issue when using a Create Event step and the form contains a list property. Flow does not seem to like processing those as somewhere along the line it tries to convert all properties to text and well... we need to work on that!
The PM we logged (PM-6493) is under review.
The workaround as Kim said sounds alot like what you already have done - create a custom step that sends a request to an Integration Builder integration which runs the same kind of code - the IB seems to not have the same issues as Flow when it works with those list properties.
I'll let others share other thoughts on this but I trust this gives the groundwork of what the issue is and why your current workaround works and seems to be the way to go for right now.
Cheers!
Instead of using the Integration Builder (IB), you could create a custom step that make the call to the create event API. As Francois mentioned, we are working on getting the full create event API represented in the create event step, but aren't there yet.