Use PowerApps Build Tools to automate common build and deployment tasks
related to PowerApps. This includes synchronization of solution metadata
(a.k.a. solutions) between development environments and source control,
generating build artifacts, deploying to downstream environments,
provisioning/de-provisioning of environments, and the ability to perform
static analysis checks against your solution using the PowerApps checker
PRE-RELEASE SOFTWARE. The software is a pre-release version.
It may not work the way a final version of the software will. We may change it for the final, commercial version.
We also may not release a commercial version.
Table of Contents:
The PowerApps Build Tools are a collection of PowerApps specific Azure
DevOps build tasks that eliminate the need to manually download scripts
to manage the development of PowerApps. The tasks can be used
individually to perform a simple task, such as importing a solution into
a downstream environment, or used together in a pipeline to orchestrate
a scenario, such as 'Generate Build Artifact,' 'Deploy to Test,' or
'Harvest Maker Changes.' The build tasks can largely be categorized into
- emit more assembly load info to debug PackageDeploy "file not found" errors on some AzDO instances
- shorten path of installed PowerShell modules to avoid assembly not found errors due to exceededing MAX_PATH length
- fix "missing dll" error for PackageDeployer task
- update to latest public PS Gallery modules
- NOTE: if the
Tool Installer task has explicit versions for the PS modules and packages (default for the classical GUI-based pipeline editor),
then make sure to have at least these versions (or simply delete and re-add a new ToolInstaller task into your pipeline):
- Xrm Online Management Api Version: 220.127.116.11
- Xrm Tooling CrmConnector Version: 18.104.22.1686
- Xrm Tooling PackageDeployment Version: 22.214.171.1249
- Microsoft PowerApps Checker Version: 1.0.12
- CrmSdk Core Tools Version: 126.96.36.199
- update support email alias to one reachable for MSFT external senders
- Import Solution (Async == true):
- fix infinite loop on non-English D365 environments
- verbose log status code transitions while waiting for async completion
- Import Solution: bring back PublishWorkflows param that was removed by accident
- Import Solution:
- import can optionally be run as an asynchronous import job
- fix error "The size necessary to buffer the XML content exceeded the buffer quota." Max size is now 4 MB
- extended timeout to 1 hour for synchronous imports; async import will timeout after 4 hours
- retry import if service detects concurrent solution import/removal
- removed task properties that are no longer supported by service import handler: ConvertToManaged, PublishWorkflows
- username/password logins with enforced MFA will fail upfront instead of hanging the build task until Azure DevOps task timeout occurs
- updated ToolInstaller task version defaults to install the latest available PS modules and nuget packages
- improved status and error reporting when Azure DevOps pipeline is queued with diagnostics enabled
- support running tasks within both build and release pipelines (fixed 'path cannot be null' error when running in release pipeline)
- added WhoAmI task
- initial public preview release: basic set of 15 PowerApps organization management tasks
- The PowerApps Tools Installer is required to be the first task in any build and release pipeline.
This task installs a set of PowerApps specific tools required by the agent to run the PowerApps Build Tasks.
- PowerApps Checker. This task runs a static analysis check on your
solution(s) against a set of best-practice rules to identify any
problematic patterns that you might inadvertently have introduced when
building your solution.
This set of tasks perform actions against solutions, and includes the
PowerApps Import Solution: Imports a solution into a target
PowerApps Export Solution: Exports a solution from a source
PowerApps Unpack Solution: Takes a compressed solution file and
decomposes it into multiple XML files and other files so that these
files can be more easily managed by a source control system.
PowerApps Pack Solution: Packs a solution represented in source
control into a solution.zip file that can be imported into an
PowerApps Publish Customizations: Publishes all customizations in an
PowerApps Set Solution Version: Updates the version of a solution.
PowerApps Deploy Package: Deploys a package to an environment.
Deploying a package
as opposed to a single solution file provides an option to deploy
multiple solutions, data, and code into an environment.
PowerApps Who Am I: Validates connectivity to org/environment instance and its username/password credentials.
Environment Management Tasks:
These tasks are used to automate common environment management tasks and
PowerApps Create Environment: Creates a new environment.
PowerApps Delete Environment: Deletes an environment. Environment
URL is the only required parameter**.**
PowerApps Backup Environment: Backs up an environment.
PowerApps Copy Environment: Copies an environment to a target
environment. Two types of copy are available: Full and Minimal. Full
copies both data and solution metadata (customizations), whereas Minimal
only copies solution metadata but not the actual data.
The PowerApps Build Tools can be installed into your Azure DevOps
Organization from the Azure
Once installed, all tasks included in the PowerApps Build Tools will be
available to add into any new or existing pipeline, and are easily found
by searching for 'PowerApps' (see screenshot below).
This tutorial provides step-by-step instructions on how to build out the
Setup Dev, Build, and Prod Environments
Build a sample app
Export a solution containing the sample app from a development environment
Unpack the solution
Commit solution to source (repo)
Import the unmanaged solution to a build environment
Generate a build artifact (managed solution)
Deploy the solution to a downstream environment
The scenario is split into the following 3 pipelines:
Create Export from Dev
Build Managed Solution
Deploy Release to Test Environment
The tutorial is available here: http://aka.ms/ppalmlab.
NOTE: This tutorial is provided to offer hands-on experience for users
new to Azure DevOps who are wanting to learn how to build pipelines in
Azure DevOps. The finished pipelines that you will end up building can
also be downloaded from the tutorial and used as-is with just a few
adjustments to environment variables, source/target folders, and
- Q: Do the PowerApps Build Tools only work for PowerApps and Dynamics
A: The PowerApps Build Tools work for both PowerApps and Dynamics 365 CE
(Dynamics 365 CE Apps are PowerApps). Separate build tasks are available
for Dynamics 365 F&O.
- Q: Can I include Flow and Canvas Apps?
A: Yes, Flows and Canvas apps are solution aware so if these are added
to your solution, they will participate fully in the lifecycle of your
- Q: Is CDS required to use the Build Tools?
A: A CDS or D365 environment is required as these provide the
solutioning system. Solutions are not available in non-CDS environments.
- Q: How much do the PowerApps Build Tools cost?
A: The PowerApps Build Tools are available at no cost. However,
depending on your requirements, you may need to acquire a license for
- Q: I can see the extension, but why don't I have an option to install
A: If you do not see the 'install' option (outlined in screenshot below)
then you most likely lack the necessary install privileges in your Azure