Power Apps  

How to use Git version control in PowerApps canvas app

PowerApps has traditionally been a low-code/no-code platform, which made version control and DevOps workflows challenging. Canvas Apps were stored as .msapp binary files, preventing meaningful collaboration, code review, or automated deployments.

With the introduction of modern source control in Power Platform, PowerApps now supports Git-based version control, enabling professional DevOps practices for Canvas Apps.

Why Git for PowerApps Canvas Apps?

Canvas Apps are stored in a proprietary .msapp file. That made it hard to do proper source control (only versioning inside the environment). With Git integration, you can:

  • Store Canvas app code as YAML + source files (not just .msapp).

  • Track changes, branches, and pull requests.

  • Collaborate across developers.

  • Automate CI/CD pipelines with Azure DevOps or GitHub Actions.

How Canvas Apps Are Stored in Git

When you connect a Canvas App to Git (Azure DevOps or GitHub), Power Apps unpacks the .msapp file into readable, source-controlled files.

Screenshot 2025-10-01 142230

Each screen and control is stored in a human-readable YAML/JSON format. This allows Git to track changes, merge, and review effectively.

PowerApps DevOps Git Integration: Step by Step

Step 1. Prerequisites

Before starting, ensure you have:

  1. Azure DevOps organization & project.

  2. Git repository in Azure Repos.

  3. Personal Access Token (PAT)  as PowerApps does not require a DevOps password to connect to the repo. You need to provide a Personal Access Token to authenticate with Git. You can share this token with other users so that they can perform Git Operations.

  4. Power Platform environment with Managed Environments enabled.

  5. (Optional) Power Platform CLI installed for CI/CD automation.

Step 2. Enable Git Version Control Setting in Power Apps

  1. Go to Power Apps Maker Portal.

  2. Click Settings > Upcoming features > Experimental >   Show the Git version control setting

Screenshot 2025-10-01 144706

Step 3. Connect Your Canvas App to Azure DevOps

  1. Open your Canvas App in Power Apps Studio.

  2. Go to File- Settings- Git version control- Connect to Git repository.

  3. Select Azure DevOps as the provider.

  4. Enter:

    • Repository URL: https://dev.azure.com/{organization}/{project}/_git/{repo}

    • Branch: main or dev

    • Authentication: Paste your PAT

  5. Click Connect - the app will be unpacked automatically into YAML/JSON and assets.

    git version control
Screenshot 2025-10-02 133010

Step 4. Developer Workflow with Git

  1. Branching: Developer creates a feature branch.

  2. Editing: Make changes in Power Apps Studio.

  3. Committing: Save changes → commit YAML/JSON files to the branch.

  4. Pull Request (PR): Merge feature branch into main.

  5. Code Review: Review changes in Azure DevOps (diffs of YAML/JSON).

  6. Merge: Approve PR → merge into main.

Summary

  • Canvas Apps are now source-controlled via Git (YAML/JSON + assets).

  • Supports branching, merge, conflict resolution, and code review.

  • CI/CD pipelines automate deployment across environments.

  • Bring professional DevOps practices to low-code PowerApps development.