Documentation (Use environment variables in solutions - Power Apps | Microsoft Docs) states that we should remove Current Value of Environment Variables before exporting an Unmanaged Solution to a Managed Solution --> this will provide a popup during Managed Solution Import to enter the Environment Variable.
How can an Environment Variable Current Value be updated after import?
I also mentioned this to the Center Of Excellence Starter Kit creators because there I see that Environment Variable Current Values behave in the same way when trying to update existing Environment Variable Values: [BUG]: Edit Environment variable from managed solution · Issue #591 · microsoft/powerapps-tools (git...
Anyh other ways that we can edit the values of these variables when imported as Managed Solution?
Solved! Go to Solution.
Yes @riclund2 : unmanaged solution have more options but this post is explicitly for the managed solutions because that is the way to go for my desired Application Lifecycle Management purpose through different environments and different tenants. That is the whole purpose of Environment Variables with a separated Default Value from an optional overwritable Current Value.
Here is an update after a lot of troubleshooting with Microsoft Support.
Basically when exporting a managed solution from an unmanaged solution with environment variables there are three scenario's:
We have run through every option to try to change the Current Value in every scenario in totally new target environments without errors:
I do not want this to make a whole new documentation page so here is my conclusion:
Microsoft Product Team is fixing a bug because option 1 should also work in every scenario.
However for now:
If you want it to work in the modern interface without a lot of hassle: use scenario C above because then you can use option 4 to edit the Current Value.
If you are like me and followed Microsofts advise, using scenario B & you added a totally new Current Value for the first time right after import into target environment. There may be moment where you want to update the Current Value for a second, third etc time. The only working workaround I found is to change the unmanaged solution to scenario C by adding the Current Value back in a new exported version of the managed solution. Unzip this new managed solution, edit the environment_variable_values.json to match the desired values AND the correct Environment Variable Value record GUID of the target environment and then import the new managed solution into the target environment. Now it will accept the import and change the current value.
Found another solution. Just move all the environment variables to another solution and export and import that solution as unmanage. That way your workflows are still managed, and the environment variables can be changes as required.
Not a perfect solution, but it works.
Hi @Django,
You don't need to clear the default value or values before exporting as managed. When you import into the target environment via make.powerapps.com or make.preview.powerapps.com, it will prompt you to set the value at import time and then should import successfully.
Hope this helps!
Yes @EricRegnier , that was the behavior that I have seen many times... but in my last export this monday of a managed solution and even when importing it in a totally new environment / totally different tenant (all Europe though) this behavior has changed....
See [BUG]: Edit Environment variable from managed solution · Issue #591 · microsoft/powerapps-tools (git... for troubleshooting details thus far...
I just tried exporting as managed without removing the value and re-importing in another environment and it’s working for me. I’m in the crm6 region. Retry, perhaps the issue is fixed now?
Hi @EricRegnier I created a video to explain better and show my full experience -->
See (55) Power Platform Solution Environment Variable Bug - YouTube
the video is a few minutes long but shows how My Custom Solution is behaving in a fresh trial environment and I see the same behavior in other Solutions like the CoE starter kit:
so the red banner popup should appear after a fresh import informing the person importing that an Environment Variables needs a value
Cheers for the awesome video. Seems like you did find a workaround via the default solution though, that's good to know. You can also try through the classic solution explorer and Advanced Find. It should let you edit it from there as well.
Using the Default Solution seems to work sporadic. On day of import it seems to work fine but a few days later:
So this workaround is not very reliable.
Using the Classic Solution explorer, is not possible for Environment Variables right?
So no edit if there is no Component in Classic Experience for Environment Variables.
Using the Advanced Find through the Model Driven App button
just opens up the default Model Driven App trying to edit specific entity:
So same barrier here...
@Django where did you get to with this? I'm hitting the exact same issues. I assume putting the EnvVars into a separate unmanaged solution is the way - about to try that. Seems like this functionality is pretty rough around the edges...
For anyone coming after, an unmanaged solution does work, although ideologically it's not ideal as we prefer everything outside dev to be managed. Anyways it brings them in and allows them to be edited during import and adjusted after. Unless I'm missing something (very possible!) this is a much more realistic setup.
Yes @riclund2 : unmanaged solution have more options but this post is explicitly for the managed solutions because that is the way to go for my desired Application Lifecycle Management purpose through different environments and different tenants. That is the whole purpose of Environment Variables with a separated Default Value from an optional overwritable Current Value.
Here is an update after a lot of troubleshooting with Microsoft Support.
Basically when exporting a managed solution from an unmanaged solution with environment variables there are three scenario's:
We have run through every option to try to change the Current Value in every scenario in totally new target environments without errors:
I do not want this to make a whole new documentation page so here is my conclusion:
Microsoft Product Team is fixing a bug because option 1 should also work in every scenario.
However for now:
If you want it to work in the modern interface without a lot of hassle: use scenario C above because then you can use option 4 to edit the Current Value.
If you are like me and followed Microsofts advise, using scenario B & you added a totally new Current Value for the first time right after import into target environment. There may be moment where you want to update the Current Value for a second, third etc time. The only working workaround I found is to change the unmanaged solution to scenario C by adding the Current Value back in a new exported version of the managed solution. Unzip this new managed solution, edit the environment_variable_values.json to match the desired values AND the correct Environment Variable Value record GUID of the target environment and then import the new managed solution into the target environment. Now it will accept the import and change the current value.
User | Count |
---|---|
20 | |
11 | |
9 | |
5 | |
5 |
User | Count |
---|---|
31 | |
30 | |
15 | |
12 | |
9 |