-
Notifications
You must be signed in to change notification settings - Fork 2
Solutions
This plugin allows for the download, extraction, source control, build and release of dataverse solutions using Azure DevOps Pipelines. This utilises spkl by Scott Durrow to perform the solution extraction and deployment.
Once you have initalised your project you will be able to select one of the following options:

This option will restore the local dependencies onto your PC. This is required before you can extract or deploy a solution.
This option will extract the solution from your Dataverse environment and place it into the solution folder.
Extracted solutions will be unpacked allowing each component to be managed individually. This is useful for source control and allows for the use of tools such as Power Platform Build Tools to build managed solutions. See Below.
This option will pack the local extracted solution into a zip file and placed it into the releases folder. Note: It will be packed as an unmanaged solution for import into a development environment.
This option will install an unmanaged version of the solution into your Dataverse environment. Note: This will overwrite any existing solution with the same name.
The creation of managed solutions is done using Azure DevOps Pipelines. The following steps are required to setup the pipeline:
To create a service connection, navigate to the project settings and select Service connections under Pipelines.
Select Power Platform from the list of connection types. If it is not available, you will need to install the Power Platform Build Tools extension from the marketplace.

Enter the details for your dataverse enviroment into the panel and give the service connection a name, DEVENV is the default name used in the azure-piplines template from this extension.
Note if you click "Grant access permission to all pipelines" it will save you from needing to setup access to this connection per pipeline.
To create a pipeline, navigate to Pipelines and select New Pipeline.

Select Azure Repos Git as the location of your code.

Select the repository and branch that contains the extracted Dataverse solution. Azure devops should automatically select azure-pipelines.yml file from this repository. If it does not, you can select Existing Azure Pipelines YAML file and select the file from the repository.
Once the pipeline has been created, you will need to edit the pipeline to add the service connection onto the Power Platform Checker step. Click the settings link above this step to edit the setting using the GUI. Note: Don't change the position of the cursor when using the GUI as it will replace whatever the highlighted text is when you click add.
Once Completed you can press Save and run and it will execute the pipeline.

The built solution files will be available in the artifacts section of the pipeline. You can download the files from here.
You should get a green tick once the pipeline has completed successfully. Once the pipeline has completed, you can download the solution files from the artifacts section of the pipeline.

The solution checker will output the results of the tests to a sarif file. This file can be downloaded from the artifacts section of the pipeline. Alternatively, you can install the sarif viewer extension to view the results in the scans tab.

The release pipeline is used to deploy the solution to a Dataverse environment. The following steps are required to setup the pipeline:
- Create a new release pipeline
- Add an artifact to the pipeline
- Add a stage to the pipeline
- Add a task to the stage
- Configure the task
- Save the pipeline
- Create a release


