Problem Description


In IWX v2.4.2, the pipeline build in a workflow fails with below error if we pass the decimal value for a pipeline parameter of decimal datatype.


[main]:[14:59:15,561] [ERROR] [BatchPipelineDriver] (BatchPipelineDriver.java:121) - Error during batch build

java.lang.ClassCastException:java.lang.Integer cannot be cast to java.lang.String

at io.infoworks.awb.utils.AwbUtil.lambda$getPipelineParameters$4(AwbUtil.java:346)

at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)

at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1382)

at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)


If we run the pipeline outside the workflow, it succeeds.


Root cause


This is a regression in IWX v2.4.2 which is fixed in v2.4.3 and a bug request IPD-5019 is raised for this issue.


Solution 


Upgrade IWX to v2.4.3 to resolve this issue. As a workaround, enclose the decimal value with double quotes in the pipeline parameter in the Build Pipeline Task to pass it as string and then run the workflow




Impacted Versions: v2.4.2