I have a PowerApp which initially connected to some Flows which utilized an Azure DevOps connection. I converted all the dependent Flows to use an HTTP connection. I verified that there are no dependencies on a DevOps connections in the Flows. Functionally, everything works as expected.
*However*... when the PowerApp is played, it is still asking the user to consent to an Azure DevOps connection.
I checked the "manifest.json" and "[guid].json" files which are created when the PowerApp is exported as a package. An Azure DevOps connection is shown in the "manifest.json" and "[guid].json" file for the 'app' but *not* in any of the 'flows'. I cannot find *any* references for an Azure DevOps connection using the PowerApps GUI editor. However, it appears the PowerApp kept a static reference to it despite it not being utilized. So, the question...
How do I explicitly purge unreferenced connections from a PowerApp?
Solved! Go to Solution.
Hi @vbrjo ,
Yes, I have tested it on my side. Now, I will share more detailed steps.
'PowerApp->Createaworkitem'.Run(TextInput1.Text)
'PowerApp->CreateiteminSharePointlist'.Run(TextInput1.Text)
As you can see, once you delete the original flow then re-add the updated flow, it will no longer refer to the original one.
Best regards,
Mabel
To verify that none of the Flows referenced included an "Azure Devops" connection. I created a separate Test PowerApp which referenced each of the Flows. I then exported the Test PowerApp. I verified that it had the exactly the some number of "flows", each with an exact matching GUID to the Target PowerApp. I then compared the top level export "manifest" JSON files, confirming that the Test PowerApp did not contain an "Azure DevOps" resource entry.
Therefore, I am confident in my assertion that the PowerApps GUI Editor is not removing unreferenced Connection resource references.
Hi @vbrjo ,
According to your description, it seems that you’ve replaced the Azure DevOps actions with HTTP actions in the flow.
After you modified the flow, have you tried doing the following things:
I have created a flow with the Azure DevOps action Create a work item. I then added it to a button on the app.
After that, I replaced the Create a work item action with SharePoint Create item action in the Flow. On the app, remove the flow from the app first, then read the flow to the button.
Please take a try with it on your side.
Best regards,
Mabel
Hi Mabel.
Thank you for replying. Replacing and/or removing the Flows did not remove the common DevOps Connection reference from the PowerApp manifest for me. This may be related to having multiple Flows being referenced, although none of them referenced a DevOps connection.
Were you able to verify the solution you proposed, or is it more of a theoretical solution? If you did verify that the DevOps connection was no longer cached in the PowerApp application, would you please share how you did it? If so, then I will try to replicate your results.
An an experiment, I created a new Application, added a new Flow to a Screen, then immediate removed it. I then went to the App OnStart event handler and referenced the *removed* Flow by assigning the results to a Collection. I then ran the OnStart handler from the App context menu, which sucessfully ran the *removed* Flow and populated the Collection. This wouldn't be possible if the Flow references (and their connection references) weren't being retained, despite having been explicitly removed from the Screen.
I "resolved" the issue by rebuilding the PowerApp application from scratch and then adding the updated Flows to it. I then verified that there was no DevOps connection by examining the exported manifests.
I can somewhat understand why PowerApps retains removed Flow references, for the convenience of the Developer during App construction. However, it seems that PowerApps should purge them on Save. It would useful to have a way to force a PowerApp to refresh all referenced Flow Connections, given that it is provably caching them.
Thanks, Bruce
Hi @vbrjo ,
Yes, I have tested it on my side. Now, I will share more detailed steps.
'PowerApp->Createaworkitem'.Run(TextInput1.Text)
'PowerApp->CreateiteminSharePointlist'.Run(TextInput1.Text)
As you can see, once you delete the original flow then re-add the updated flow, it will no longer refer to the original one.
Best regards,
Mabel
User | Count |
---|---|
6 | |
6 | |
4 | |
4 | |
2 |
User | Count |
---|---|
8 | |
8 | |
4 | |
4 | |
4 |