GitHub Sync in Power Apps

Empower Your Team: Collaborative Canvas Power App Development

Ose Verma
Intelliconnect Engineering

--

Creating powerful Canvas Power Apps just got even better with collaborative editing capabilities. Imagine multiple Power Apps developers seamlessly working on the same app simultaneously, no more waiting for your turn to make changes or worrying about version control conflicts.

In this article, we’ll explore how you can enable multiple developers to edit Canvas Power Apps together using Git version control. Let’s dive in!

Git Version Control in Power Apps

Power Apps offers an exciting feature called Git version control, designed to enhance collaboration and streamline app development. However, it’s essential to note that this feature is still experimental and comes with some limitations, primarily regarding modern controls and components.

Getting Started

To allow multiple developers to simultaneously edit a Canvas Power App, follow these steps:

Step 1: Enable Git Version Control

  1. Go to the ‘Settings’ of your Canvas App.
Settings in Power Apps

2. Under the upcoming features section, enable ‘Git version control’.

Git version control

Step 2: Connect the App to a Git Repository

  1. In the app’s ‘Settings’, you’ll find a new tab called ‘Git version control’. Click on it and select ‘Connect’ to configure your Git repository.
Connect to Git repository

2. Create a new repository on GitHub (or your preferred Git hosting service). Make sure it’s an empty repository. We’ll call it ‘DemoGithubSync’ for this example.

New repository

3. Copy the URL of your Git repository and paste it into Power Apps.

Power Apps connecting to the Git repository

4. Click ‘Apply’, and you’ll be prompted to sign in. Now, you need to create a personal access token on GitHub.

Sign in to your repository

Step 3: Create a Personal Access Token in GitHub

  1. Go to ‘Settings’ on GitHub, then navigate to ‘Developer Settings’.
Settings in GitHub (right pane)
Developer settings(left pane)

2. Select ‘Tokens (classic)’ and click on ‘Generate new token (classic)’.

Generate token

3. Provide a name, set an expiration date, and check the ‘repo’ scope.

New Personal Access Token

4. Click ‘Generate token’, copy the token, and save it in a secure location.

Step 4: Back in Power Apps: Sign Into the Repository

  • Sign in using your developer’s email and the GitHub personal access token you just created.
Sign in to your repository using a personal access token
  • Once signed in, click ‘Yes’ to create a new branch.
Create Branch

Now, share the app with your fellow developer(s) and grant them “Co-owner” access.

Share the app with a developer

Collaborative Editing

They should follow these steps to join the collaborative editing process:

  • When the other developer logs in, they will see the shared app in their Power Apps account.
Shared app
  • After clicking on the app, they will need to sign in with their credentials and personal access token created previously whenever they open the app.
  • The sync button will appear when they edit the app, just before the play button. This button allows them to commit their changes.
Sync button
  • Once changes are made and the sync button is pressed, those changes will be reflected in the admin account as well.

For Example:

  • After signing in, the other developer made the header different and pressed on sync.
Syncing the edit
  • Back in the admin account, when you press the sync button the changes are updated:
Updated edits

Limitations

  1. This feature isn’t compatible with code components. Don’t use this feature with apps that make use of code components.
  2. The collaborative feature is experimental in Power Apps.
  3. More limitations are listed in the reference.

Conclusion

With Git version control in Canvas Power Apps, your team can seamlessly collaborate on app development projects. No more version conflicts or waiting for your turn to edit.

Please note that this feature is experimental and has some limitations as mentioned above — so be sure to review the official documentation for more details.

References

--

--