UiPath Documentation
cicd-integrations
2025.10
true

CI/CD integrations user guide

Last updated May 7, 2026

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.

Tip:

When the restore or analyze commands need to reach Orchestrator (for example, libraries hosted on a private feed), they also accept --ca-cert and --pinnedpubkey parameters for connecting to instances signed by a private Certificate Authority. See Trusting custom certificates for scenarios and examples.

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
--ca-certTrusted root CA file(s) (PEM, DER, or PKCS#7) for the library Orchestrator/Identity TLS certificate. Repeat or comma-separate. See Trusting custom certificates.No
--pinnedpubkeyPin the leaf public key (sha256//<base64>). See Trusting custom certificates.No

Example

uipcli solution restore C:\Solutions\MySolution \
  --restoreFolder C:\Work\Output \
  --traceLevel Verbose
uipcli 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 Verbose
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 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
--ca-certTrusted root CA file(s) (PEM, DER, or PKCS#7) for the library Orchestrator/Identity TLS certificate. Repeat or comma-separate. See Trusting custom certificates.No
--pinnedpubkeyPin the leaf public key (sha256//<base64>). See Trusting custom certificates.No

Example

uipcli solution analyze C:\Solutions\MySolution \
  --governanceFilePath C:\Policies\uipath.policy.Production.json \
  --resultPath C:\Output\analyze.json \
  --analyzerTraceLevel Warning \
  --traceLevel Information
uipcli 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 dependencies
uipcli solution restore C:\Solutions\MySolution \
  --restoreFolder C:\Output\Dependencies \
  --traceLevel Information

# 2. Analyze against governance rules
uipcli 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 dependencies
uipcli solution restore C:\Solutions\MySolution \
  --restoreFolder C:\Output\Dependencies \
  --traceLevel Information

# 2. Analyze against governance rules
uipcli 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?

Connect

Need help? Support

Want to learn? UiPath Academy

Have questions? UiPath Forum

Stay updated