Microsoft Dataverse now offers native source control integration with an Azure DevOps Git repository. The integration aims to improve version control, change tracking, and collaboration across development environments.
This is a significant step forward by Microsoft’s Power Platform team. The feature, still in its early stages, has high expectations to meet and is long overdue.
Let’s look at how to set it up, explore its key features and limitations, and I’ll share my honest thoughts on it.
How to Set It Up
Prerequisites
The following prerequisites are required to use this new feature:
- Power Platform environment with the following:
- Enabled for early release cycle, as this feature is still in preview.
- Enabled as a Managed Environment.
- Dataverse enabled.
- System Administrator role assigned when binding the environment or solution to an Azure DevOps project.
- Azure DevOps subscription and licenses for all users who will interact with source control.
Connect Dataverse to Git
- Sign in to Power Apps and go to Solutions.
- In the Solutions area, click Connect to Git on the command bar.
- Select either Environment or Solution from the connection type options, select your Azure DevOps organization and project, and set the root Git folder that the solution components will be committed to.
- If you selected Solution as your connection type, you will need to select the solution you’d like to connect along with the branch. For this example, we’ll use
main
. You will also need to provide a subfolder name under the root folder for your solution.
Environment Binding
Environment binding links an entire Dataverse environment, along with all unmanaged solutions and components, to a single repository and folder. It stores all unmanaged customizations in a single Git location, allowing multiple solutions to share a root folder while tracking each component’s association.
Solution BindingSolution binding enables source control for multiple solutions within the same environment but in separate repositories or folders. It offers more organizational flexibility but requires setting up each solution individually. Each solution component can only be bound to one location, and you choose the repository and folder for each solution at the time of binding.
Learn more about environment and solution binding at How to choose between environment and solution binding
How to Commit Changes
- After making changes or adding components to your unmanaged solution.
- Open your solution and click Source Control on the left navigation pane.
- Click Commit to commit your changes to source control and provide a comment for the Git commit.
- Open your DevOps repository to review your committed solution files.
How to Pull Changes From Source Control
- After making some code-first changes to the solution files in your DevOps repository, open your solution and click Source Control on the left navigation pane.
- Click Check for updates and review your code-first changes.
- Click Pull to pull your changes into your development environment from source control.
My Thoughts
Dataverse’s new Git integration is a much-needed and promising step toward modernizing solution management for Power Platform developers. These features are a highly anticipated addition, filling a long-standing gap in Dataverse’s DevOps capabilities.
With the introduction of YAML for solution files, Microsoft has enhanced readability and usability, which is a major improvement for developer workflows.
That said, the feature remains in its early stages, with no PAC CLI support and incomplete coverage of all solution components. Hopefully, Microsoft will address these issues in future updates to enhance its functionality and usability.
While there’s room for further development, this release signals a positive direction, and with ongoing updates, it’s likely to become an essential part of a mature DevOps process for Dataverse.
Resources
Overview of Dataverse Git integration (preview)