cicd-integrations
2025.10
true
UiPath logo, featuring letters U and I in white

CI/CD integrations user guide

Last updated Nov 5, 2025

Restoring and Analyzing Solutions

Before packaging a solution, you typically restore its dependencies and validate it against governance rules. These operations run locally and do not require Orchestrator authentication.

Restoring dependencies

The restore command downloads all required activity packages and project dependencies to a local folder.

Command syntax

uipcli solution restore <solution-path> [options]uipcli solution restore <solution-path> [options]

Parameters:

ParameterDescriptionRequired
<solution-path>Path to Solution folder or .uipx fileYes
--restoreFolderLocal path where dependencies are restoredNo
--traceLevelLogging level: Verbose, Information, WarningNo

Example

uipcli solution restore C:\Solutions\MySolution \  --restoreFolder C:\Work\Output \  --traceLevel Verboseuipcli solution restore C:\Solutions\MySolution \  --restoreFolder C:\Work\Output \  --traceLevel Verbose

Using custom NuGet feeds

If your solution depends on activities from custom feeds (including Orchestrator feeds), you can provide a nuget.config file in the solution directory or specify feeds using the library Orchestrator parameters:

uipcli solution restore C:\Solutions\MySolution \  -A myorg \  -I 12345678-xxxx-xxxx-xxxx-xxxxxxxxxxxx \  -S **** \  --libraryOrchestratorApplicationScope "OR.Folders OR.Settings.Read" \  --libraryOrchestratorTenant DefaultTenant \  --libraryOrchestratorUrl https://cloud.uipath.com/ \  --libraryOrchestratorFolder MyFolder \  --traceLevel Verboseuipcli solution restore C:\Solutions\MySolution \  -A myorg \  -I 12345678-xxxx-xxxx-xxxx-xxxxxxxxxxxx \  -S **** \  --libraryOrchestratorApplicationScope "OR.Folders OR.Settings.Read" \  --libraryOrchestratorTenant DefaultTenant \  --libraryOrchestratorUrl https://cloud.uipath.com/ \  --libraryOrchestratorFolder MyFolder \  --traceLevel Verbose

See Managing NuGet feeds for more details on configuring activity sources.

Performance considerations

NuGet restore is often the slowest step in solution packaging. Every restore operation must resolve both direct and transitive dependencies.

To improve restore performance:

  1. Cache the NuGet global package folder between pipeline runs:
    • Windows: %UserProfile%\.nuget\packages
    • Linux/macOS: ~/.nuget/packages
  2. Use a trimmed nuget.config with only reachable feeds:
    • Remove slow or unreachable feeds from the configuration.
    • Order feeds by reliability and speed.
  3. Use self-hosted agents if persistent caching is required.

Refer to the Managing NuGet feeds documentation for caching examples in Azure DevOps and other CI/CD platforms.

Analyzing a solution

The analyze command validates the solution against Workflow Analyzer rules and governance policies.

Command syntax

uipcli solution analyze <solution-path> [options]uipcli solution analyze <solution-path> [options]

Parameters:

ParameterDescriptionRequired
<solution-path>Path to Solution folder or .uipx fileYes
--governanceFilePathPath to governance policy JSON fileNo
--resultPathPath where analysis results JSON will be savedNo
--analyzerTraceLevelAnalyzer logging level: Warning, Information, VerboseNo
--traceLevelCLI logging levelNo

Example

uipcli solution analyze C:\Solutions\MySolution \  --governanceFilePath C:\Policies\uipath.policy.Production.json \  --resultPath C:\Output\analyze.json \  --analyzerTraceLevel Warning \  --traceLevel Informationuipcli solution analyze C:\Solutions\MySolution \  --governanceFilePath C:\Policies\uipath.policy.Production.json \  --resultPath C:\Output\analyze.json \  --analyzerTraceLevel Warning \  --traceLevel Information

Governance policies

Governance policies define rules that must be met before a solution can be packaged and deployed. These typically include:

  • Code quality standards
  • Naming conventions
  • Security checks
  • Performance thresholds

Policy files are JSON documents that configure Workflow Analyzer rules. You can:

  • Create policies in Studio
  • Export them from Orchestrator
  • Version control them alongside your Solution code

Using analysis results in CI/CD

The analysis results JSON can be parsed by your pipeline to:

  • Fail the build if critical violations are found
  • Generate compliance reports
  • Gate deployments to production environments

Typical workflow

A common CI/CD pattern combines restore and analyze before packaging:

# 1. Restore dependenciesuipcli solution restore C:\Solutions\MySolution \  --restoreFolder C:\Output\Dependencies \  --traceLevel Information# 2. Analyze against governance rulesuipcli solution analyze C:\Solutions\MySolution \  --governanceFilePath C:\Policies\production.json \  --resultPath C:\Output\analysis.json \  --analyzerTraceLevel Warning# 3. Check analysis results# 4. Continue to packaging...# 1. Restore dependenciesuipcli solution restore C:\Solutions\MySolution \  --restoreFolder C:\Output\Dependencies \  --traceLevel Information# 2. Analyze against governance rulesuipcli solution analyze C:\Solutions\MySolution \  --governanceFilePath C:\Policies\production.json \  --resultPath C:\Output\analysis.json \  --analyzerTraceLevel Warning# 3. Check analysis results# 4. Continue to packaging...

This ensures that only validated, compliant solutions proceed to packaging and deployment.

Was this page helpful?

Get The Help You Need
Learning RPA - Automation Courses
UiPath Community Forum
Uipath Logo
Trust and Security
© 2005-2025 UiPath. All rights reserved.