We realised we had the casing wrong for one of our Octopus variables. Changing the casing of the variable name through the variables interface seemed to work, however we continued to get matching issues with replacing the variable.
To fix the problem I had to completely delete the variable and re-create it from scratch. This seems less than ideal.
When you changed the value did you recreate the release? If you change variable names or values a new release needs to be created to allow deployments to use them. When a release is created we snapshot the variable data to ensure it remains consistent between deployments and environments even if the project variables are changed to accommodate the next release.
I just tested the following bash script
echo "Title Case"
echo $(get_octopusvariable "MyConn")
echo "Lower Case"
echo $(get_octopusvariable "myconn")
With a variable named
MyConn and then a variable named
myconn and it appeared to work as expected when I created a new release. (The variable with incorrect casing would result in log message
Let me know if this was the cause of your problems,
So I think what happened was I updated the variables for an existing release.