cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
khaledhikmat
Advocate III
Advocate III

How do we source control PowerApps code?

Ho, how do we source control PowerApps code? Is there way to export the code into something that can be checked in to a source control system?

21 REPLIES 21

You can use my new Flow to push PowerApps Source Code to Github!!

That said, we're currently focused on helping people build apps without code, so classic source control methods like git are not part of those near-term plans. There's some richer background on that in this discussion if you're interested in going deeper.

Empowering our users is a REALLY good idea, but the problem is I've had management tell me a few times that I need to learn how to write "code" with these platforms; and honestly, the experience has been highly frustrating.  I've had situations where people have told me to write solutions in SharePoint, Power BI or Power Apps when it would be easier and cleaner to use C#/(Classic MVC) and/or SQL Server Reporting Services.  That doesn't even begin to address the high potential cost of these user written apps.  


Anyway, I applaud Microsoft for trying to make software development easier.  I think most "professionals" and business people (even developers) want that, but I still find Power Apps a royal pain to use with a lack of perceived flexibility.  

 

One simple thing Microsoft could do to make this better would be to improve the "code editor" that you use inside PowerApps events.  For example, when I try to edit the OnSelect Action of a Button in PowerApps, I'm given this tiny little window to work with.  For the kinds of solutions my institution needs, we are going to have to write more than a few lines of code for each action.  Over time, this large volume of business rules is going to create a bunch of O365 Spaghetti Code that is very difficult to debug.  To make matters worse, we will be stuck without a "debugger" and we will have to edit our code through tiny little "windows"...

 

Another thing Microsoft could do is maybe offer a client side tool for "development".  The online editor is a bit sluggish in my personal opinion even when I'm onsite at the office.

Lastly, farming out Power BI scripting logic to Power Apps may be a simple solution for Microsoft, but it's a pain in the neck for me.  While I think Power BI is a reasonably decent product, I'm not a fan of Power Apps.  I need a way to call a parameterized REST API from a Slicer Visual on Power BI.   R Visual's for Power BI don't tend to do GUI Input so well IMO and I haven't looked at Python yet.  I don't really want to mess with writing a JavaScript/ECMAScript custom visual because that's likely going to involve notable work and I'm not a fan of JavaScript anyway.  This leaves me with either ditching Power BI altogether and using a Charts.js / MVC or .NET Core [1] type solution with Charts.js just for the rendering or trying to go with a Power Apps solution to call the REST API from inside a Power BI Report.  None of these seem easy to me and I ultimately went with Charts.js and .NET Core for reports that use parameterized REST Queries.  I use straight Power BI for the "easy stuff" (Non-Parameterized Queries) but wound up doing .NET Core for the situations where the data volume is really high and there seems to be a need for be notable processing on the backend before the data gets to Power BI.  Ideally, a Power BI Service report would allow me to easily pass parameters to a backend stored procedure or REST API, but from what I can tell, Power BI doesn't support that too well yet.  Instead, Power BI wants you to import massive amounts of data into the system and then do the processing with DAX.  I suppose Power BI Direct Query might improve this some, but I still need a good way to pass parameters to stored procedures or a REST API.

BTW: Forgive me if I'm wrong on any of this.  I'm just stating my frustration with getting quality non-trivial user focused "apps" out to the user given the tools built into the O365 subscription that my institution provides me. 

[1] - SQL Server Reporting Services is another pretty easy option for visualization that is reasonably clean.

Hairy_Drumroll
Advocate III
Advocate III

There was a session at Microsoft Build 2020 about this.

https://mybuild.microsoft.com/sessions/0cd53db8-0688-4e4f-9926-cd4a56c12070?source=sessions

As I understand it (I was only just able to keep up!) it involves the use of a few different "Environments", then having the PowerApp packaged up in to a "Solution". You can use Visual Studio "Pipelines" to move the Solution between Dev/Test/Prod Environments.

More here:

The Power Automate Flow from @seadude may also be useful.

MikeStall
Microsoft
Microsoft

We have released some tooling to support this. See: https://powerapps.microsoft.com/en-us/blog/source-code-files-for-canvas-apps/  .

This can convert from an .msapp to source files and back.

 

The tooling is open source on github at : https://github.com/microsoft/PowerApps-Language-Tooling  , and will be eventually shipping in our other powerplatform ALM tools, like as part of Solution Packager. 

 

 

 


@MikeStall wrote:

We have released some tooling to support this. ... This can convert from an .msapp to source files and back.

 

The tooling ... will be eventually shipping in our other powerplatform ALM tools, like as part of Solution Packager. 


Thanks @MikeStall, looks good and definitely on the right path. But I think for a "citizen developer" this process seems a bit too cumbersome. I'm looking forward to seeing how this improves over time!

Update 2021:

yeah, its not like the business world doesnt have requirements requiring the tracking of bug fixes and other modifications to critical applications.... not sure how you create powerapps, etc without starting at source control. 

 

Liability and the mitigation of risk is why we must have source control.  we need that warm fuzzy feeling it gives us.  boxes to be ticked on project mgmt forms and reports showing how productive we are... SOURCE CONTROL!!!!!! 

 

Dammit M$ you always do this,  create a technology that does many great things, but then fails at the basic functionality that should exist or even be a GIVEN.   

 

The solution paradigm is flawed. FIX IT!!

mdevaney
Super User III
Super User III

@khaledhikmat 
A few years after your original post the Power Apps Source Code tool has now been released!  You are now able to unpack an msapp file and view the Power Apps code within it.  Check out this article on how to install it and why its useful 

 

Link to article - Power Apps Source Code Tool:

🔗 https://matthewdevaney.com/power-apps-source-code-tool/


sourcecodetool.jpg

---
Please click "Accept as Solution" if my post answered your question so that others may find it more quickly. If you found this post helpful consider giving it a "Thumbs Up."

ok part b of my rant LOL

 

The powerapps community should be split into Canvas and Model-driven communities...  

 

Thanks for your reply Khalidhikmat.

I am looking for a source control technology for a model-driven app.

 

@urklnme 
That's why we have a Microsoft Dataverse community.

mdevaney_0-1613490620373.png

 

urklnme
Helper I
Helper I

many thanks for your very helpful comment.

Helpful resources

Announcements
PA User Group

Welcome to the User Group Public Preview

Check out new user group experience and if you are a leader please create your group

MBAS Attendee Badge

Claim Your Badge & Digital Swag!

Check out how to claim yours today!

secondImage

Are Your Ready?

Test your skills now with the Cloud Skill Challenge.

Top Solution Authors
Top Kudoed Authors
Users online (48,331)