- Overview
 - UiPath CLI
- About UiPath CLI
 - Downloading UiPath CLI
 - Compatibility matrix
 - Running UiPath CLI
 - Managing NuGet feeds
 - About UiPath CLI tasks
 - Packing projects into a package
 - Analyzing a project
 - Deploying a package to Orchestrator
 - Running a job inside Orchestrator
 - Testing a package or running a test set
 - Testing multiple packages
 - Deploying assets to Orchestrator
 - Deleting assets from Orchestrator
 - Running tasks using JSON configuration
 - Restoring automation dependencies
 
- Troubleshooting UiPath CLI
 
 - Azure DevOps extension
 - Jenkins plugin
 

CI/CD integrations user guide
Analyzing a project
Prerequisites:
- Create a project.
 - Run the CLI 
exe(for Windows) ordll(for Linux) file. - Add the required Orchestrator API access application scopes.
 
To analyze a project, take the following steps:
- Run the 
packagetask, usinguipcli package. You can notice a list of the available sub-tasks. - Specify the required parameters and run the 
analyzesub-task. The following table describes the required parameters. 
Project validation is not performed by the Pack or Analyze tasks of UiPath CLI.
Legend: (*) - Optional, recommended when using additional package feeds.
|   Parameter  |   Description  | 
|---|---|
|   
  |   Choose what types of messages to output after analyzing: 
  | 
|   
  |   The job fails when any rule is violated.  | 
|   
  |   Treat warnings as errors.  | 
|   
  |   The full path to a JSON file where you want to store the results. If you don't add this as an argument, then the results will print only in the standard console.  | 
|   
  |   Pass governance policies containing the Workflow Analyzer rules. Policies can be downloaded from , or extracted from the exported compressed zip file from Studio . The task fails if you specify to use a policy but the policy file is not in the mentioned path.  | 
|   
  |   A list of rules that you want to ignore during the analysis, separated by commas.  | 
 -u , --orchestratorUsername (*) ( Required if you use Basic Authentication , through a username and a password)  |   The username used for authenticating to Orchestrator. You must pair it with the corresponding password.  | 
 -p , --orchestratorPassword (*) ( Required if you use Basic Authentication , through a username and a password)  |   The password used for authenticating to Orchestrator. You must pair it with the corresponding username.  | 
 -t , -orchestratorAuthToken (*) ( Required if you use token-based authentication )  |   The OAuth2 refresh token used for authenticating to Orchestrator. You must pair it with the Account Name and Client ID .  | 
 -a , --orchestratorAccountName (*) ( Required if you use token-based authentication )  |   The Orchestrator CloudRPA account name. You must pair it with the OAuth2 refresh token and Client ID .  | 
 -A , --orchestratorAccountForApp (*)  |   The Orchestrator CloudRPA account name(organization name). You must pair it with the Application ID , Application Secret , and Application scope for external application.  | 
 -I , --orchestratorApplicationId (*) ( Required if you use external application authentication )  |   The external Application ID. You must pair it with the **Application Account, Application Secret , and Application scope .  | 
 -S , --orchestratorApplicationSecret (*) ( Required if you use external application authentication )  |   The external Application Secret. You must pair it with the Application Account , Application ID , and Application scope .  | 
 --orchestratorApplicationScope (*) ( Required if you use external application authentication )  |   The list of application scopes, separated by single spaces. You must pair it with the Application Account , Application ID , and Application Secret for external application.  | 
 --orchestratorFolder (*)  |   The name of the target Orchestrator folder. AccountingTeam\TeamJohn .  | 
 --orchestratorUrl (*)  |   The URL of the Orchestrator instance.  | 
 --orchestratorTenant (*)  |   The tenant of the Orchestrator instance where you want to delete a machine.  | 
 -l , --language  |   The orchestrator language.  | 
|   
  |   Display the trace of the events.  | 
 --identityUrl ( Required for PaaS or MSI deployments  | The URL of your identity server. | 
|   
  |   Disable built-in nuget feeds.  | 
 Project(s) Path (pos.0) ( Required )  |  The path to the project.json file, or the path to the folder that contains multiple project.json files.  | 
Usage:
uipcli package analyze <project_path> [--analyzerTraceLevel <analyzer_trace_level>] [--stopOnRuleViolation] [--treatWarningsAsErrors] [--resultPath <result_path>] [--governanceFilePath <governance_file_path>] [--ignoredRules <rule_id_1,rule_id_2>] [--orchestratorUrl <orchestrator_url> --orchestratorTenant <orchestrator_tenant>] [-u <orchestrator_user> -p <orchestrator_pass>] [-t <auth_token> -a <account_name>] [-A <organization_name> -I <application_id> -S <application_secret> --orchestratorApplicationScope <application_scope>] [--orchestratorFolder <folder_name>] [-l <language>] [--traceLevel <None|Critical|Error|Warning|Information|Verbose>] [--identityUrl <identityUrl>] [--disableBuiltInNugetFeeds]uipcli package analyze <project_path> [--analyzerTraceLevel <analyzer_trace_level>] [--stopOnRuleViolation] [--treatWarningsAsErrors] [--resultPath <result_path>] [--governanceFilePath <governance_file_path>] [--ignoredRules <rule_id_1,rule_id_2>] [--orchestratorUrl <orchestrator_url> --orchestratorTenant <orchestrator_tenant>] [-u <orchestrator_user> -p <orchestrator_pass>] [-t <auth_token> -a <account_name>] [-A <organization_name> -I <application_id> -S <application_secret> --orchestratorApplicationScope <application_scope>] [--orchestratorFolder <folder_name>] [-l <language>] [--traceLevel <None|Critical|Error|Warning|Information|Verbose>] [--identityUrl <identityUrl>] [--disableBuiltInNugetFeeds]Minimal command examples:
uipcli package analyze "C:\userprofile\AutomationProject\project.json" --traceLevel Information --resultPath "C:\userprofile\result.json"uipcli package analyze "C:\userprofile\AutomationProject\project.json" --traceLevel Information --resultPath "C:\userprofile\result.json" --orchestratorUrl "https://orch-23-10-paas.cloudapp.azure.com/" --orchestratorTenant "TenantName" -u "orchestratorUsername" -p "********" --orchestratorFolder "FolderName"uipcli package analyze "C:\userprofile\AutomationProject\project.json" --traceLevel Information --resultPath "C:\userprofile\result.json" --orchestratorUrl "https://orch-23-10-paas.cloudapp.azure.com/" --orchestratorTenant "TenantName" -A "organizationName" -I "76000552-3e4f-4590-9317-cdb420001f1d" -S "********" --orchestratorApplicationScope "OR.Folders OR.BackgroundTasks OR.TestSets OR.TestSetExecutions OR.TestSetSchedules OR.Settings.Read OR.Robots.Read OR.Machines.Read OR.Execution OR.Assets OR.Users.Read OR.Jobs OR.Monitoring" --orchestratorFolder "FolderName" --identityUrl "https://orch-23-10-paas.cloudapp.azure.com/identity"uipcli package analyze "C:\userprofile\AutomationProject\project.json" --traceLevel Information --resultPath "C:\userprofile\result.json" --orchestratorUrl "https://automation-suite.base.url.com/" --orchestratorTenant "TenantName" -A "organizationName" -I "3f6239b9-e0e8-465e-a429-d9ffd1d9e57a" -S "********" --orchestratorApplicationScope "OR.Folders OR.BackgroundTasks OR.TestSets OR.TestSetExecutions OR.TestSetSchedules OR.Settings.Read OR.Robots.Read OR.Machines.Read OR.Execution OR.Assets OR.Users.Read OR.Jobs OR.Monitoring" --orchestratorFolder "FolderName"uipcli package analyze "C:\userprofile\AutomationProject\project.json" --traceLevel Information --resultPath "C:\userprofile\result.json" --orchestratorUrl "https://cloud.uipath.com/" --orchestratorTenant "TenantName" -A "organizationName" -I "becc663c-8f1e-409a-a75f-c00330d80bc8" -S "********" --orchestratorApplicationScope "OR.Folders OR.BackgroundTasks OR.TestSets OR.TestSetExecutions OR.TestSetSchedules OR.Settings.Read OR.Robots.Read OR.Machines.Read OR.Execution OR.Assets OR.Users.Read OR.Jobs OR.Monitoring" --orchestratorFolder "FolderName"