I may have found what looks like unexpected behavior in Celigo mapping.
I reduced the mapping in the screenshot to a minimal example to make the issue easier to see. I am using uniqueLineId as the line key to find existing lines.
In my test case, the source path is:
[*].uniqueLineId
My input has:
- a root-level
uniqueLineId - nested
uniqueLineIdvalues insidensOpportunity[*]
I expected [*].uniqueLineId to match only the root-level field.
If I wanted the nested values, I would expect to use:
nsOpportunity[*].uniqueLineId
But in practice, [*].uniqueLineId is also picking up the nested nsOpportunity[*].uniqueLineId values.
That makes it seem like the wildcard path is not staying scoped to the level I expected. Which also results in an error :
{
"code": "USER_ERROR",
"message": "Please choose an item to add"
}
I have a workaround by creating a different field at the root level, so I’m not blocked. I just wanted to report this here in case it is a bug or known behavior.
Can anyone confirm whether this is expected, or whether it should be treated as a bug?


