The Power Apps Checker was first introduced by Microsoft as the Solution Checker in the new Maker portal for Microsoft Dynamics 365 and the Common Data Service. We also have the App Checker for Canvas apps, and the Flow Checker for flows.
These services have been combined under the same umbrella: the Power Apps Checker!
Microsoft has also provided us with an API to invoke the checks. This allows for CI/CD pipeline automation, and for any tool or code to consume the public Power Apps Checker API for easier access and more granular checks.
Before going to Dynamics Power Saturday in Dublin, Ireland in September 2019, I called out for tool ideas for my session “Let’s Build an XrmToolBox Tool!” on LinkedIn.
One of the responses I got was from Mike Huguet, Engineering Lead for the team behind the Power Apps Checker:
How could I deny Mike his request? Of course I started looking into the Power Apps Checker API and began building the tool. For the session in Dublin I got a bunch of other interesting ideas, but that’s another story.
The Power Apps Checker for XrmToolBox was born.
The Power Apps Checker for XrmToolBox consumes the API to create a rich experience when validating the quality of solutions for:
- Common Data Service
- Microsoft Dynamics 365
- Power Apps Model Driven apps
- Power Apps Canvas apps
- Power Automate flows
Tutorial
Prerequisites
XrmToolBox
The Power Apps Checker for XrmToolBox of course requires – well, XrmToolBox. Download and run XrmToolBox from https://www.xrmtoolbox.com
To install the Power Apps Checker, go to the Tool Library to find and install the tool.
Azure App Registration
Running the checker requires an Azure App Registration to get an Application ID (a.k.a. Client ID) needed for authentication.
The Power Apps Checker for XrmToolBox can authenticate either with the Application ID and interactive user authentication, or with the combination of Directory ID (a.k.a. Tenant ID), Application ID and Client Secret.
When using interactive user authentication, the App Registration needs an API permission for PowerApps-Advisor
and a Redirect URI:
Read more about how to set this up in the documentation.
The Tool
The API
To use the Power Apps Checker API for analysis the following steps are performed:
- Upload solution file to the PAC service.
- Invoke analysis of uploaded file using specified rule set or rules.
- Check for progress of the analysis.
- Download SARIF file with analysis results.
SARIF
SARIF is an open standard that defines a format for the output of static analysis tools. There are tutorials, SDKs and various viewers published on the SARIF website, but for the specific case with the Power Apps Checker I created my own parser and viewer for XrmToolBox.
Solutions
Power Apps Checker for XrmToolBox can analyze solution files that you have downloaded locally, or solutions in a Common Data Service or Dynamics 365 environment where the the tool first exports the solution for you.
Rules
Before hitting the Analyze button, select which rules or which rule set that shall be used for the analysis. When running the Power Apps Checker in the Maker portal of Power Platform, the Solution Checker rule set is always applied. Using the XrmToolBox tool allows for full control of exactly which rules to check for.
Files
It is also possible to specify files to exclude from the analysis, which is useful when you know there is an accepted technical debt in the solution that will be addressed at a later time.