Native Dataverse Git Repository Integration

Microsoft has just announced the public preview of its latest native Git integration for the Power Platform. I’ve been exploring this feature since its private preview, and I believe it’s a game changer.

In a nutshell, the Git integration provides an out-of-the-box way to integrate your solution into Git. Not only that, but it also extracts the solution in YAML format 😍, allowing you to easily update the content in source control and sync it back with your environment.

Prerequisite

At the time of this writing, the official documentation states that this feature is only available in Australia, Canada, and Europe AND if your environment is set for early release cycle. Make sure you follow this guidance to have the feature enabled.

The documentation also states that your environment must be enabled as a managed environment. I tried using an unmanaged environment, and it still worked. Nonetheless, Microsoft will likely restrict this feature to managed environments in the future.

The Setup

Setting it up is straightforward; you can do it in just three steps, taking less than five minutes:

  1. Create an Azure DevOps project and initialize its code repository.
  2. Go to the preview version of the Power Apps Maker Portal at https://make.preview.powerapps.com (or use https://bit.ly/ppmake as a shortcut). If you follow to the normal maker URL, the feature will not appear.
  3. Connect your environment to the repository you just created.
  4. Create a new solution, add some content, and commit your solution to Git.

Here’s a video where I managed to complete it in less than two minutes (with waiting times removed).

Native Dataverse Git Repository Integration

The Details

The steps above cover the basics to get you started, but there’s more to it:

  1. For the first step, your Azure DevOps instance needs to be in the same tenancy as your Dataverse instance.
  2. Once this feature reaches GA, we likely won’t need to use the preview Maker Portal, and the appended query parameter won’t be required either.
  3. When connecting your environment to the Git repository, you can choose one of two connection types:
    • Connection per environment: This option synchronizes all solutions within your environment. It organizes solutions and elements in a common repository, avoiding duplications when elements are reused across solutions.
    • Connection per solution: Each solution will have its own folder in your Git repository, providing better separation between solutions and minimizing unnecessary commits from unwanted solutions in your environment.

These two options are often debated. Would you prefer more flexibility over which solution you’re committing or confidence that all components and dependencies are committed?

Feature overview: https://learn.microsoft.com/en-us/power-platform/alm/git-integration/overview
Setting up: https://learn.microsoft.com/en-us/power-platform/alm/git-integration/connecting-to-git

In my next blog post, I’ll dive into additional actions, such as pulling changes from source control and resolving conflicts when both code bases have changed.

Rami Mounla