Automatically validate your solutions using the PowerApps checker PowerShell Module

A number of customers have automated build and release pipelines and a frequent ask, since announcing the general availability of Solution Checker, is for the ability to run checks outside of the user experience and in an automated manner. This is now possible with the new PowerApps Checker PowerShell module that we have released for preview in the PowerShell Gallery today!

 

Using the module, you can directly check your solutions from your pipelines and receive the a detailed report of issues similar to what was made available to you from the PowerApps maker portal. Alternatively, you can also allow your teams validate their solutions locally by using the interactive login mode to access the checker service.

 

With the module, you also have additional new capabilities and flexibility on the types of solutions you can check, the resources in your solution to check, and also which rules your solutions are checked against.
  • Validate both managed and unmanaged solutions (CRM 2011 to current)
  • Validate more than one solution at a time
  • Validate solutions contained in a package
  • Validate on-premise solutions
  • Rules available for ISV’s for AppSource certification
  • Exclude files from the analysis
  • Control which rules are included in the analysis

 


(running a check using the interactive login mode)

How do I get started?

There are a few prerequisite steps you will need to complete prior to using the PowerShell module to validate your solutions. You can follow the instructions in the PowerApps checker documentation to complete the steps below.
  • Install the module
  • Set up authentication and authorization in your Azure tenant

 

How do I check my solution or package?

A set of cmdlets are available to interact with the service in order run your checks. These cmdlets let you retrieve a listing of rules, rulesets and run an analysis job.

 

Detailed help and examples on how to use each cmdlet are available to guide you through each step of the check process.

 

How do I access the results?

When running a check, you specify a folder to save the reports. Once complete, you will have access to a result object that contains the locations of the reports and a summary of findings by severity. You can use this summary to make decisions in your automated processes without having to parse through the report files. The reports are downloaded in a zip file with a reports in a JSON format. The JSON is formatted based on a standardization referred to as Static Analysis Results Interchange Format (SARIF). There are tools available to view and interact with SARIF documents. For more information refer to the SARIF project’s web site for details.

 

Upcoming capabilities

For customers using Azure DevOps, we will soon be previewing a DevOps task to make integrating with the service even easier. This will provide all the capabilities of the PowerShell module, and also allow for viewing of results directly in the your build. Stay tuned for this announcement!

 

Another small improvement

For issues found with assemblies contained in your solutions, the location field on the report generated by the service contained an “undefined” reference. While it was possible to determine the assembly reference using the module/type/member fields, we have now improved this and included the assembly name in the location field to help you identify the issue location faster. This change is currently rolling out to the regions.

 

We are really excited to see what our community will do with this capability available to them to constantly review the quality of their solutions. If you have questions or other feedback you can provide it via this post or on the PowerApps Community site.