Skip to content
| Marketplace
Sign in
Azure DevOps>Azure Pipelines>Power DevOps Tools
Power DevOps Tools

Power DevOps Tools

Wael Hamze

|
17,191 installs
| (60) | Free
Tasks for automating Build & Deployment of Dynamics 365 CE/CDS/PowerApps Solutions
Get it free

Overview

Power DevOps Tools (a.k.a. Dynamics 365 Build Tools) is a set of tools that makes it easy and quick to automate builds and deployment of your PowerApps/CDS/Dynamics 365 CE solutions.

This will allow you to setup a fully automated DevOps pipeline so you can deliver CRM more frequently in a consistent and reliable way.

Compatibility
Getting Started
Task Catalog
Version History
More Information

Compatibility

Dynamics 365 (8.x.x)
Dynamics 365 (9.x.x)/CDS/PowerApps
(Many tasks may work with previous versions of Dynamics CRM)

Azure DevOps/Azure DevOps Server/TFS For support and installation instructions

Works with Hosted Azure Agents

Getting Started

Take a took at the getting started video.

Task Catalog

Below is a list of tasks that are included with this extension.

You must add the 'Power DevOps Tool Installer' at the begining of every agent phase for the other tasks to work.

Task Category Description
Export Config Migration Data Data Exports data from a PowerApps/CDS/Dynamics 365 instance using a Configuration Migration schema file
Extract Config Migration Data (preview) Data Extracts the data zip exported using Configuration Migration Tool into folder with the option split and sort the data.xml
Get Configuration Record (preview) Data Retrieves a configuration entity record value using a lookup from a PowerApps/CDS/Dynamics 365 environment
Get Environment Variable (preview) Data Retrieves the current environment variable value from a PowerApps/CDS/Dynamics 365 environment
Import Config Migration Data Data Import data exported using Configuration Migration Tool into a CRM instance
Pack Config Migration Data (preview) Data Packs the data files that have been extracted using Extract task back into a data zip that can be imported using Configuration Migration Tool
Update Configuration Records Data Upserts a configuration entity records using lookup/value pairs in a PowerApps/CDS/Dynamics 365 environment
Update Environment Variables (preview) Data Upserts environemnt variables current value record using name/value pairs in a target PowerApps/CDS/Dynamics 365 environment
Backup Online Instance (deprecated) Environment Creates a backup of a PowerApps/CDS/Dynamics 365 Environment
Copy Online Instance (preview) (deprecated) Environment Copies a source PowerApps/CDS/Dynamics 365 environment to a target environment
Delete Instance (deprecated) Environment Deletes a PowerApps/CDS/Dynamics 365 environment
Get Online Instance By Name (deprecated) Environment Gets PowerApps/CDS/Dynamics 365 environment Id based on the name of the environment
Provision Online Instance (deprecated) Environment Creates a new PowerApps/CDS/Dynamics 365 environment
Reset Online Instance (deprecated) Environment Resets a PowerApps/CDS/Dynamics 365 environment
Restore Online Instance (deprecated) Environment Restores PowerApps/CDS/Dynamcics 365 environment from a previous backup using a timestamp or label
Set Online Instance Admin Mode Environment Enables/Disables Admin Mode for a PowerApps/DataVerse/Dynamics 365 environment
Apply Solution Upgrade Solution Applies a solution upgrade after solution is import using stage for upgrade option
Checker Quality Gate (preview) Solution Validates PowerApps Checker scan results against defined thresholds
Check Solution Solution Uses PowerApps Checker API to validate your solution against a list of known issues
Clone Solution Solution Clones a PowerApps/CDS/Dynamics 365 unmanaged Solution
Copy Solution Components Solution Adds components from a given solution to another solution if not present
Create Patch Solution Creates an unmanaged CRM Solution Patch
Create Solution Solution Creates an unmanaged Solution
Export Solution Solution Exports a PowerApps/CDS/Dynamics 365 Solution from the source environment
Export Solutions Using Config (preview) Solution Exports PowerApps/CDS/Dynamics 365 Solutions using a json configuration
Extract Solution Solution Unpacks a PowerApps/CDS/Dynamics 365 Solution zip into mutiple files using SolutionPackager.exe
Get Latest Patch (preview) Solution Retrieves the latest patch for a given solution from a PowerApps/CDS/Dynamics 365 environment
Get Solution (preview) Solution Retrieves solution details from a PowerApps/CDS/Dynamics 365 instance
Get Solution Missing Components (preview) Solution Retrieves missing components for a solution from a PowerApps/CDS/Dynamics 365 environment
Get Solution Missing Dependencies (preview) Solution Retrieves missing dependencies for a solution in PowerApps/CDS/Dynamics 365 environment
Import Solution Solution Import a Solution into a PowerApps/CDS/Dynamics 365 environment
Import Solutions Using Config (preview) Solution Imports PowerApps/CDS/Dynamics 365 Solutions using a json configuration
Pack Solution Solution Generates a PowerApps/CDS/Dynamics 365 Solution zip from previously extracted files using SolutionPackager.exe
Pack Solutions Using Config Solution Generates PowerApps/CDS/Dynamics 365 Solution zips(s) from previously extracted files using a json config and SolutionPackager.exe
Remove Solution Solution Deletes a managed/unmanaged Solution from a PowerApps/CDS/Dynamics 365 environment
Remove Solution Components Solution Removes all components from a given Solution in PowerApps/CDS/Dynamics 365 environment
Set Version Solution Updates the version of a PowerApps/CDS/Dynamics 365 Solution
Update Solution Description Solution Updates the description of a given Solution in a PowerApps/CDS/Dynamics 365 environment
Activate Flow (preview) Utility Turns on/off a Flow
Add Environment To Group (preview) Utility Adds an environment to an environment group
Check Tenant Settings (preview) Utility Compares current tenant settings against a well known baseline in the provided file
Package Deployer Utility Deploys a CRM Package using the CRM Package Deployer PowerShell Cmdlets
Ping Environment Utility Use this task to test connectivity to a PowerApps/CDS/Dynamics 365 environment
Plugin Registration (preview) Utility Updates a CDS Plugin/Workflow activity assembly/types/steps in a PowerApps/CDS/Dynamics 365 environment
Publish Customizations Utility Publishes all customizations in a given PowerApps/CDS/Dynamics 365 environment
Service Endpoint Registration (preview) Utility Updates CDS Service Endpoints and steps in a PowerApps/CDS/Dynamics 365 environment
Share Flow (preview) Utility Shares a Flow with users and/or groups
Share Power App (preview) Utility Shares Canvas Power App(s) with users and/or groups
Split Plugin Assembly (preview) (deprecated) Utility Splits a PowerApps/CDS/Dynamics 365 plugin assembly into multiple plugin assemblies
Power DevOps Tool Installer Utility Configures the tools/dependencies required by all of the tasks
Update Connection References (preview) Utility Links connection references to an existing connection in a CDS environment
Update Secure Configuration Utility A task that updates plugin secure configuration in a PowerApps/CDS/Dynamics 365 environment
Update Tenant Settings (preview) Utility Updates tenant settings from a json config file
Update Web Resources (preview) Utility Updates Web Resources from source control on a target PowerApps/CDS/Dynamics 365 environment

PS C:\Dev\Src\dyn365-ce-vsts-tasks\BuildTools\Xrm.CI.Framework.BuildTools> .\GenerateTasksMD.ps1 | Task | Category | Description | | --- | --- | --- | | Export Config Migration Data | Data | Exports data from a PowerApps/CDS/Dynamics 365 instance using a Configuration Migration schema file | | Extract Config Migration Data (preview) | Data | Extracts the data zip exported using Configuration Migration Tool into folder with the option split and sort the data.xml | | Get Configuration Record (preview) | Data | Retrieves a configuration entity record value using a lookup from a PowerApps/CDS/Dynamics 365 environment | | Import Config Migration Data | Data | Import data exported using Configuration Migration Tool into a CRM instance | | Pack Config Migration Data (preview) | Data | Packs the data files that have been extracted using Extract task back into a data zip that can be imported using Configuration Migration Tool | | Update Configuration Records | Data | Upserts a configuration entity records using lookup/value pairs in a PowerApps/CDS/Dynamics 365 environment | | Add Environment To Group (preview) | Environment | Adds an environment to an environment group | | Backup Online Instance (deprecated) | Environment | Creates a backup of a PowerApps/CDS/Dynamics 365 Environment | | Copy Online Instance (preview) (deprecated) | Environment | Copies a source PowerApps/CDS/Dynamics 365 environment to a target environment | | Delete Instance (deprecated) | Environment | Deletes a PowerApps/CDS/Dynamics 365 environment | | Get Environment Variable (preview) | Environment | Retrieves the current environment variable value from a PowerApps/CDS/Dynamics 365 environment | | Get Online Instance By Name (deprecated) | Environment | Gets PowerApps/CDS/Dynamics 365 environment Id based on the name of the environment | | Provision Online Instance (deprecated) | Environment | Creates a new PowerApps/CDS/Dynamics 365 environment | | Reset Online Instance (deprecated) | Environment | Resets a PowerApps/CDS/Dynamics 365 environment | | Restore Online Instance (deprecated) | Environment | Restores PowerApps/CDS/Dynamcics 365 environment from a previous backup using a timestamp or label | | Set Online Instance Admin Mode | Environment | Enables/Disables Admin Mode for a PowerApps/DataVerse/Dynamics 365 environment | | Update Environment Variables (preview) | Environment | Upserts environemnt variables current value record using name/value pairs in a target PowerApps/CDS/Dynamics 365 environment | | Apply Solution Upgrade | Solution | Applies a solution upgrade after solution is import using stage for upgrade option | | Checker Quality Gate (preview) | Solution | Validates PowerApps Checker scan results against defined thresholds | | Check Solution | Solution | Uses PowerApps Checker API to validate your solution against a list of known issues | | Clone Solution | Solution | Clones a PowerApps/CDS/Dynamics 365 unmanaged Solution | | Copy Solution Components | Solution | Adds components from a given solution to another solution if not present | | Create Patch | Solution | Creates an unmanaged CRM Solution Patch | | Create Solution | Solution | Creates an unmanaged Solution | | Export Solution | Solution | Exports a PowerApps/CDS/Dynamics 365 Solution from the source environment | | Export Solutions Using Config (preview) | Solution | Exports PowerApps/CDS/Dynamics 365 Solutions using a json configuration | | Extract Solution | Solution | Unpacks a PowerApps/CDS/Dynamics 365 Solution zip into mutiple files using SolutionPackager.exe | | Get Latest Patch (preview) | Solution | Retrieves the latest patch for a given solution from a PowerApps/CDS/Dynamics 365 environment | | Get Solution (preview) | Solution | Retrieves solution details from a PowerApps/CDS/Dynamics 365 instance | | Get Solution Missing Components (preview) | Solution | Retrieves missing components for a solution from a PowerApps/CDS/Dynamics 365 environment | | Get Solution Missing Dependencies (preview) | Solution | Retrieves missing dependencies for a solution in PowerApps/CDS/Dynamics 365 environment | | Import Solution | Solution | Import a Solution into a PowerApps/CDS/Dynamics 365 environment | | Import Solutions Using Config (preview) | Solution | Imports PowerApps/CDS/Dynamics 365 Solutions using a json configuration | | Pack Solution | Solution | Generates a PowerApps/CDS/Dynamics 365 Solution zip from previously extracted files using SolutionPackager.exe | | Pack Solutions Using Config | Solution | Generates PowerApps/CDS/Dynamics 365 Solution zips(s) from previously extracted files using a json config and SolutionPackager.exe | | Remove Solution | Solution | Deletes a managed/unmanaged Solution from a PowerApps/CDS/Dynamics 365 environment | | Remove Solution Components | Solution | Removes all components from a given Solution in PowerApps/CDS/Dynamics 365 environment | | Set Version | Solution | Updates the version of a PowerApps/CDS/Dynamics 365 Solution | | Update Solution Description | Solution | Updates the description of a given Solution in a PowerApps/CDS/Dynamics 365 environment | | Activate Flow (preview) | Utility | Turns on/off a Flow | | Check Tenant Settings (preview) | Utility | Compares current tenant settings against a well known baseline in the provided file | | Package Deployer | Utility | Deploys a CRM Package using the CRM Package Deployer PowerShell Cmdlets | | Ping Environment | Utility | Use this task to test connectivity to a PowerApps/CDS/Dynamics 365 environment | | Plugin Registration (preview) | Utility | Updates a CDS Plugin/Workflow activity assembly/types/steps in a PowerApps/CDS/Dynamics 365 environment | | Publish Customizations | Utility | Publishes all customizations in a given PowerApps/CDS/Dynamics 365 environment | | Service Endpoint Registration (preview) | Utility | Updates CDS Service Endpoints and steps in a PowerApps/CDS/Dynamics 365 environment | | Share Flow (preview) | Utility | Shares a Flow with users and/or groups | | Share Power App (preview) | Utility | Shares Canvas Power App(s) with users and/or groups | | Split Plugin Assembly (preview) (deprecated) | Utility | Splits a PowerApps/CDS/Dynamics 365 plugin assembly into multiple plugin assemblies | | Power DevOps Tool Installer | Utility | Configures the tools/dependencies required by all of the tasks | | Update Connection References (preview) | Utility | Links connection references to an existing connection in a CDS environment | | Update Secure Configuration | Utility | A task that updates plugin secure configuration in a PowerApps/CDS/Dynamics 365 environment | | Update Tenant Settings (preview) | Utility | Updates tenant settings from a json config file | | Update Web Resources (preview) | Utility | Updates Web Resources from source control on a target PowerApps/CDS/Dynamics 365 environment |

Some explanation for tasks that have the below in the names:

preview: New functionality. May contain some bugs. Subject to breaking changes while in preview.

deprecated: Task has been replaced with another task or is no longer required. Will be removed in future release.

Build Automation

You can combine the xRM CI Framework tasks with other tasks to create a build definition as needed.

Below is a sample build definition that publishes customizations, updates solution version to match build number, exports the solution from CRM and then publishes the zip as an artifact in VSTS

Build Definition

Build Console

Build Artifacts

Release Automation

You can combine the xRM CI Framework tasks with other tasks to create a release definition as needed.

Below is a sample release definition that imports the solution generated from the latest build into the QA environment.

Release Definition

Release Logs

Solution Imported

More Information

For more documentation and source code, check out Github using the links on this page.

Version History

8.0.x Initial Release

8.1.x
Added task to backup CRM online instances

8.2.x
MSCRM Backup Online Instance now uses instance name instead of instance id Added Tasks for Provision, Restore, Delete and Get Online Instances
Added Task for updating Secure Configuration of Plug-ins

8.3.x
Added Task Set Online Instance Admin Mode

9.0.x
Updated to use Dynamics 365 CE v9 Assemblies and Tools

9.1.x
Added Tasks to managing Plugin Registration
Added Task for updating Web Resources
Added Tasks for removing/copying solution components
Added tasks for Exracting Customisations into source

9.2.x
Added Tools Installer Task to improve efficieny and reduce extension size
Added new task to upsert configuration records
Improvements to Plugin Registration and Web Resource Tasks
Updated to 9.0.2.4 SDK Assemblies and Tools

9.3.x
Added Task to manage Service Endpoints
Added Task to Delete a Solution
Added Synch mode for Solution Import Task
Added Async mode for Apply Solution Task
Update Configuration Records Task to support updating mutiple value fields

9.4.x
Updated to 9.0.2.5 SDK Assemblies and Tools

9.5.x
Added tasks to Create Solution, Clone Solution, Create Patch and Update Solution Description
Enhancements to Import Solution stability and improved logging (ver. 11)
Plugin Registration task now supports StateCode and AsyncAutoDelete in json for Plug-in Steps

9.6.x
Updated SDK core assemblies to 9.0.2.9 and tools to 9.0.2.11
Added ability to specify custom log directory and file for Import Solution task
Added tasks to allow exporting/importing mutiple solution using json configuration
Added task to allow packing mutiple solutions using json configuration
Enhacements to Pack Solution task and improved logging
Set Version task now allows setting version on extracted solution files
Updating version as part of Export/Pack Solution task is now deprecated. These will be removed in next release. Use the Set Version task instead.

9.7.x
Added task to retrieve missing components for a solution for a target instance
Added task to retrieve missing dependencies for a solution in the source instance
Updated SDK assemblies/tools to 9.0.2.12

9.8.x
Updated Solution Packager to 9.0.3.1
New task to reset v9 online instances

9.9.x
Update Solution Packager to SDK 9.0.3.4
Enhancements to Package Deployer Task including addition of Crm Connection Timeout and more logging
Added a task to copy online instances
Updated Online Management PS SDK to 1.1.0.9053
Added task to check solution using PowerApps Checker

9.10.x
Added support for localization parameters in solution packager tasks
Added task to retrieve solution details from a CRM instance
Added task to retrieve the latest patch for given solution
Added task to retrieve a configuration record from a CRM instance
Added tasks to export/import Configuration Migration Data
Added tasks to extract/pack Configuration Migration data for version control management

9.11.x
Updated to the latest SDK Libraries (v9.1)
Ability to use clientsecret authentication method in connection strings
Added v9.1 in the SDK Version selection in Package Deployer Task
Updated Check Solution Task to allow checking based on specific rules and exclude files/patterns from checks

9.12.x
Added tasks to manage Environment Variables (Get/Update)
PowerApps Checker is now split into 2 tasks: Check Solution (v.11) and Checker Quality Gate
Tasks that return values can be used in Task Groups through pipeline variables in addition to output parameters
Fix for issue with updating solution description for Patches

9.13.x
PowerApps Checker task now supports rule level overrides
PowerApps Checker/Quality Gate tasks now publishes results summary into build summary view
Configuration Migration Import task now supports batching
Configuration Migration Import/Export task now supports schemas containing fetch xml
Updated Nuget Libraries/PS Modules to latest versions

9.14.x
Ability to restore an online instance using timestamp. Task now supports friendlyname and security group
Backup instance task uses new API which is a lot faster now. Task now supports skipping if existing backup found
Update PS modules and Nuget packages to latest versions

9.15.x
Dependencies from Nuget/PS Gallery are no longer packaged with extension these are now downloaded at runtime. (Power DevOps Tool Installer v12)
Ability to select official sources for dependencies (nuget.prg/PS Gallery) or supply custom repositories. (Power DevOps Tool Installer v12)
Ability to override the default version of dependencies used by supplying a specific version (e.g. Solution Packager). (Power DevOps Tool Installer v12)
Ability to select the latest version of a dependency package (e.g. Solution Packager). (Power DevOps Tool Installer v12)
To be able to use the above features you will need to use v12 of Power DevOps Tool Installer and v12 of other tasks
The previously deprecated feature to update the version of a solution in the export task has been removed now. Use Set Version task instead (Export Solution v12)
The Package Deployer task now takes full path to dll instead of dll name and path to dll (Package Deployer v12)
Extension name changed from "Dynamics 365 Build Tools" to "Power DevOps Tools"
v12 Tasks are no longer prefixed with MSCRM. Search by keywords (i.e. Import, Reset) depending on action or check the task list

9.16.x
Updated Nuget Libraries/PS Modules to latest versions
Update to import/export solution tasks to allow backwards compatibility with earlier versions of Dynamics
Fix issue when creating/retrieving patches in the scenario where parent solution has many patches
Added preview region to solution checker task and use the region when invoking the checker API

9.17.x
Export solution(s) tasks now support the new async export API. Continue to use sync mode (default) if your environment doesn't support this API
Added more logging (including TrackingSessionId) when connecting to CDS to allow better troubleshooting of issues
Added more logging (including RequestId) for solution export/import to allow better troubleshooting of issues
Updated Sdk Tools/PS Modules to use the latest version (by default)

9.18.x
Added a Task to share Canvas Apps
Added a Task to update connection references
Updated Sdk Tools/PS Modules to use the latest version (by default)

9.19.x
Added a Task to share and assign Flows
Added a Task to turn Flows on/off
Deprecated most of the environment management tasks
Fixed defect with task for setting Administration mode for environments
Updated Sdk Tools/PS Modules to use the latest version (by default)

9.20.x
Added a Task to update tenant settings using config file
Added a Task to compare tenant settings against a known baseline
Deprecated most of the environment management tasks which are present in PPBT Improved performance of Share Power App Task
Updated Sdk Tools/PS Modules to use the latest version (by default)

9.21.x
Added a Task to add an environment to an environment group
Fixed issue in Activate Flow tasks to allow multiple flow activations
Updated Sdk Tools/PS Modules to use the latest version (by default)

For more information on changes between versions, check the milestones and releases on GitHub

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2025 Microsoft