From the Microsoft description: “PowerApps Checker promotes higher-quality model-driven apps by helping app makers follow best practices when they customize and extend the PowerApps platform. PowerApps Checker performs a static analysis of your PowerApps solutions to identify performance and stability risks, and provides detailed recommendations to remove these risks from your solutions.”
Let’s go through an example of how to use this tool.
This JS sits inside a Solution called Carl’s Customizations. In the Power Apps maker at https://make.powerapps.com/ we can run the Solution checker to see if this solution contains any issues.
To do this, select the solution and click Solution Checker->Run. If you don’t have this option, you may see a Solution Checker->Install link:
Once run, in the top right you will see “Solution checker running”:
There are different statuses for when the tool is running or complete, including:
- Hasn’t been run
- Couldn’t be completed
- Results as of
- Couldn’t be completed, result as of
- Checked by Microsoft
- Checked by Publisher
In this case, the tool has run successfully, and we see in the Solution Check column, there are results that can be downloaded:
We also get a notification, which tells us we can get the results by downloading it or through an email:
Let’s click on View Results:
Selecting a row gives us more details. For example, below we see “‘Xrm.Page’ references or accesses a deprecated API in the client context object model. Replace this call with the following client context API: ‘ExecutionContext.getFormContext'”:
And clicking on the link Get the complete guide takes us to a help page:
If we select Download Results, we get a ZIP file:
With CSV/XSLX files:
And a results tab:
With the email we receive, there is a link to the Solutions page to download the results. The email alert can be useful if the solution checker is taking some time to run:
Let’s go and fix this error to see what happens.
We will set the formContext:
var formContext = executionContext.getFormContext();
And use this to set the variable:
var accountName = formContext.getAttribute(“name”);
Rerunning this, 2 issues have been removed and we have 1 remaining:
A useful tool to help you keep your code using best practices.