Runs workflow analysis with stopOnRuleViolation enabled for all UiPath projects in a GitHub repository. Built as a wrapper around the UiPath CLI task for Analyzing a Project.
The action adds comments to the GitHub Actions step summary, containing a table of information about the workflow analysis results, and provides the path of a JSON file for workflow analysis results.
Note: The current version of this action is only compatible with Windows runners
This action requires the following items to be configured:
- UiPath CLI installed on GitHub Actions Runner. This can be done by running the setup-uipath action before this action
- An external application created in Orchestrator with the access scopes specified in the UiPath CLI documentation. With the credentials passed to this actions input from GitHub Secrets (or other safe credential stores)
The example below shows a standard use-case for running workflow analysis on all UiPath projects within a repository, authenticating to an Orchestrator instance on UiPath Automation Cloud:
# Action for performing workflow analysis on a UiPath project
- name: UiPath Analyze
uses: Mikael-RnD/UiPath-Analyze@v0
with:
orchestratorTenant: MyTenant
orchestratorFolder: "MyFolder/SE"
orchestratorApplicationId: ${{ secrets.ORCHESTRATOR_APP_ID }}
orchestratorApplicationSecret: ${{ secrets.ORCHESTRATOR_APP_SECRET }}
orchestratorLogicalName: myorg
The example below shows a use-case for running workflow analysis, on a specific project in the repository, while authenticating to an on-prem/Automation Suite instance, and ignoring rules ST-NMG-002 and ST-USG-034:
# Action for performing workflow analysis on a UiPath project
- name: UiPath Analyze
uses: Mikael-RnD/UiPath-Analyze@v0
with:
projectFilePaths: |
Performer/project.json
orchestratorUrl: https://mycompany.orchestrator.com/
orchestratorTenant: MyTenant
orchestratorFolder: "MyFolder/SE"
orchestratorApplicationId: ${{ secrets.ORCHESTRATOR_APP_ID }}
orchestratorApplicationSecret: ${{ secrets.ORCHESTRATOR_APP_SECRET }}
orchestratorApplicationScope: "OR.Assets OR.BackgroundTasks OR.Execution OR.Folders OR.Jobs OR.Machines.Read OR.Monitoring OR.Robots.Read OR.Settings.Read OR.TestSets OR.TestSetExecutions OR.TestSetSchedules OR.Users.Read"
orchestratorLogicalName: myorg
ignoredRules: "ST-NMG-002,ST-USG-034"
Name | Description | Required | Default value |
---|---|---|---|
projectFilePaths | Multiline input containing a list of projects to perform the operations on. If left empty, the action scans for any project.json files in the repository | False | TheProject/project.json |
orchestratorUrl | Base URL to Orchestrator instance | False | https://cloud.uipath.com/ |
orchestratorTenant | Name of the Orchestrator tenant | True | |
orchestratorLogicalName | Id of the UiPath organization | True | |
orchestratorFolder | The fully qualified name of the Orchestrator folder where processes are deployed to | True | |
orchestratorApplicationId | Application ID for the CLI to authenticate with UiPath Orchestrator | True | |
orchestratorApplicationSecret | Application Secret for the CLI to authenticate with UiPath Orchestrator | True | |
orchestratorApplicationScope | External application scope | False | "OR.Assets OR.BackgroundTasks OR.Execution OR.Folders OR.Jobs OR.Machines.Read OR.Monitoring OR.Robots.Read OR.Settings.Read OR.TestSets OR.TestSetExecutions OR.TestSetSchedules OR.Users.Read" |
rulesConfigFilePath | Path to a RulesConfig.json for customized workflow analysis rules. Overwrites the RuleConfig.json generated by the UiPath CLI on the runner if provided | False | |
ignoredRules | Comma-separated list of rules to ignore during analysis | False |
Name | Description |
---|---|
analyzerResultsPath | A path on the local runner containing the analyzer result json files for all analyzed projects |
analyzerResultsTable | Markdown formatted table containing the workflow analysis results, intended for use cases such as providing additional details in issues or pull request comments |
infoCount | Number of informational entries generated during analysis |
warningCount | Number of warning entries generated during analysis |
errorCount | Number of error entries generated during analysis |