I was really confused by the way I found something to work
If I reference this...
<+exportedVariables.getValue("pipeline.deployMessage.msgID")>
When the value is empty then it returns null, makes sense
HOWEVER
When I reference this...
<+exportedVariables.getValue("pipeline.<+stepGroup.variables.MessageReference>.msgID")>
(Which is the same actual back end variable but needed because this is supposed to be dynamic)
I get...
exportedVariables.getValue(pipeline.deployMessage.msgID)
When these have a value in I get that value back and both work BUT
The fact that the second option did not return null made me think I was referencing it wrong or my syntax was bad. It was very confusing and I wasted time trying to troubleshoot that
A secondary point is that if you need to check to see if that variable is null you have to add in a condition which is a lot longer and more complicated that checking for null
I would request to rethink the 'best effort' for the return value and just go with null
Thanks