16.3 CI/CD Pipelines with uipcli & Test Manager Traceability

Key Takeaways

  • The UiPath CLI (legacy uipcli) analyzes, packs, deploys, and tests automation packages in CI/CD pipelines; a newer uip CLI is also available.

  • uipcli package analyze checks Workflow Analyzer rules and fails the job with --stopOnRuleViolation; --treatWarningsAsErrors turns warnings into errors.

  • uipcli package pack runs validation and analysis by default and supports --version or --autoVersion; uipcli package deploy publishes to an Orchestrator tenant and folder.

  • uipcli test run runs test sets or tests packages in Orchestrator and can output JUnit results for the build server.

  • Test Manager links requirements to test cases, reports requirement coverage, and can create defects in tools such as Jira from failed results.

Last updated: September 2026

16.3 CI/CD Pipelines with uipcli & Test Manager Traceability

Core Concept: In enterprise Robotic Process Automation, transitioning from manual deployments to Continuous Integration and Continuous Deployment (CI/CD) pipelines is essential for maintaining code quality, governance, and rapid release velocity. Using the UiPath Command Line Interface (uipcli / UiPath.CLI), DevOps engineers can automate static code analysis, package compilation, and regression testing headlessly. By pairing CI/CD pipelines with UiPath Test Manager, organizations achieve bidirectional traceability—linking business requirements in Jira or Azure DevOps directly to automated test cases and automatically logging defects when regression suites fail.

Manual RPA release processes—where developers manually click "Publish" in Studio, export NuGet packages, and hand them off to operations teams for Orchestrator upload—introduce severe operational bottlenecks and human error. Unchecked naming convention violations, hardcoded passwords, unhandled exceptions, and untested edge cases slip into production. A robust CI/CD pipeline establishes automated quality gates that reject substandard code before it ever reaches staging or production environments.


1. The Enterprise RPA CI/CD Architecture

A modern enterprise RPA CI/CD pipeline automates the entire progression of code from developer commit to production deployment:

+-----------------------------------------------------------------------------+
|                          ENTERPRISE RPA CI/CD PIPELINE                      |
|                                                                             |
|   [ Developer Commit ] ---> [ Git Pull Request (GitHub / Azure Repos) ]     |
|                                          │                                  |
|                                          ▼                                  |
|   +---------------------------------------------------------------------+   |
|   | STAGE 1: Static Code Governance (uipcli package analyze)            |   |
|   | - Execute Workflow Analyzer rules against project.json              |   |
|   | - Enforce naming conventions, variable scope, secure strings        |   |
|   | - FAIL build if Error or Warning count exceeds policy threshold     |   |
|   +---------------------------------------------------------------------+   |
|                                          │ Build Passed                     |
|                                          ▼                                  |
|   +---------------------------------------------------------------------+   |
|   | STAGE 2: Automated Packaging (uipcli package pack)                  |   |
|   | - Compile workflow project into strongly versioned NuGet (.nupkg)   |   |
|   | - Inject semantic version (SemVer) based on build counter           |   |
|   +---------------------------------------------------------------------+   |
|                                          │ Package Built                    |
|                                          ▼                                  |
|   +---------------------------------------------------------------------+   |
|   | STAGE 3: Automated Test Execution (uipcli test run)                 |   |
|   | - Dispatch Test Set execution to Orchestrator Testing Robots        |   |
|   | - Execute Unit and Integration BDD Test Cases                       |   |
|   | - Generate JUnit / NUnit XML result artifacts                       |   |
|   +---------------------------------------------------------------------+   |
|                                          │ Tests Passed                     |
|                                          ▼                                  |
|   +---------------------------------------------------------------------+   |
|   | STAGE 4: Deployment & Governance Synchronization                     |   |
|   | - Deploy package to Orchestrator feeds (uipcli package deploy)      |   |
|   | - Sync execution metrics & activity coverage to UiPath Test Manager |   |
|   | - Report results to Test Manager and the team's ALM tool            |   |
|   +---------------------------------------------------------------------+   |
+-----------------------------------------------------------------------------+

2. Mastering the UiPath Command Line Interface (uipcli / UiPath.CLI)

The UiPath CLI (uipcli.exe on Windows or multi-platform runner packages) is a specialized command-line utility designed to interface headlessly with UiPath projects, packages, Orchestrator instances, and Test Manager.

Core Commands and Operational Syntax

1. Static Code Analysis: uipcli package analyze

Before building a package, the pipeline checks the project against Workflow Analyzer rules.

uipcli package analyze <path-to-project.json> \
  --stopOnRuleViolation \
  --treatWarningsAsErrors \
  --governanceFilePath <policy.json> \
  --resultPath <analysis.json>
  • Project path: the project.json file, or a folder containing several projects.
  • --stopOnRuleViolation: the job fails when any rule is violated.
  • --treatWarningsAsErrors: warnings count as errors.
  • --governanceFilePath: a governance policy file with Workflow Analyzer rules; the task fails if the file is missing.
  • --ignoredRules and --analyzerTraceLevel control which rules and messages are used.
  • Project validation always runs as part of analyze.

2. Package Compilation: uipcli package pack

Once code analysis passes, the project is compiled into a deployable NuGet package (.nupkg).

uipcli package pack <projectPath> \
  --output <outputFolder> \
  --version <semVerVersion> \
  --autoVersion
  • --output: The directory where the resulting .nupkg artifact is saved.
  • --version: Explicit Semantic Versioning string (e.g., 2.1.0-build.452).
  • --autoVersion: Auto-generates a package version.
  • Project validation and Workflow Analyzer run by default during pack; --skipValidate and --skipAnalyze opt out.

3. Automated Test Execution: uipcli test run

uipcli test run tests a package or runs an existing test set in Orchestrator, using the Orchestrator URL, tenant, folder, and authentication options. Results can be written in JUnit format so the build server can display them.

4. Deployment: uipcli package deploy

Deploys the validated .nupkg package to UiPath Orchestrator.

uipcli package deploy <package-or-folder> <orchestratorUrl> <tenant> \
  --orchestratorFolder <folder>
  • The first positions are the package path, the Orchestrator URL, and the tenant (required for Automation Cloud).
  • --createProcess (default true) creates or updates the process in the folder.

Note

These commands belong to the legacy .NET CLI (uipcli.exe), which remains available for existing pipelines. UiPath also offers a newer uip CLI with a command map from the legacy commands.


3. Integrating CI/CD Engines: Azure DevOps, GitHub Actions & Jenkins

Enterprise organizations leverage different CI/CD platforms. UiPath provides dedicated plugins, extensions, and CLI runners for each major platform.

1. Azure DevOps Pipelines

UiPath publishes an Azure DevOps extension whose tasks wrap the CLI, such as installing the CLI, packing, deploying, running tests, and running jobs. A pipeline can also call the CLI directly:

steps:
- script: uipcli package analyze "$(Build.SourcesDirectory)\project.json" --stopOnRuleViolation
- script: uipcli package pack "$(Build.SourcesDirectory)\project.json" -o "$(Build.ArtifactStagingDirectory)" --autoVersion

2. Other Build Servers

Jenkins has a UiPath plugin, and GitHub Actions, GitLab, and other tools can run the CLI in a script step. In every case, the build server reads the CLI exit code to pass or fail the stage and can publish JUnit test results.


4. UiPath Test Manager & Enterprise Traceability

While CI/CD engines handle compilation and execution, UiPath Test Manager delivers the governance layer that connects automated technical execution to high-level business objectives.

+-----------------------------------------------------------------------------+
|                      BIDIRECTIONAL ALM TRACEABILITY                         |
|                                                                             |
|   ALM Platform (Jira / Azure DevOps)                                        |
|   +---------------------------------------------------------------------+   |
|   | User Story / Requirement: US-9042 "Automate Invoice Discount Logic"|   |
|   +---------------------------------------------------------------------+   |
|                                     │                                       |
|                                     │ Bidirectional Sync                    |
|                                     ▼                                       |
|   UiPath Test Manager                                                       |
|   +---------------------------------------------------------------------+   |
|   | Requirement: REQ-104 "US-9042 Invoice Discounting"                 |   |
|   | Linked Test Cases:                                                  |   |
|   |   - TC_01: Verify Standard 5% Discount (Passed)                     |   |
|   |   - TC_02: Verify Tier_A 10% Discount (Passed)                      |   |
|   |   - TC_03: Verify Negative Margin Boundary (FAILED)                 |   |
|   +---------------------------------------------------------------------+   |
|                                     │                                       |
|                                     │ Automated Defect Creation             |
|                                     ▼                                       |
|   ALM Platform (Jira / Azure DevOps)                                        |
|   +---------------------------------------------------------------------+   |
|   | Defect / Bug: BUG-312 "TC_03 Assertion Failure on Negative Margin"  |   |
|   | - Attached: Screenshot, Robot Logs, Verification Failure Details    |   |
|   +---------------------------------------------------------------------+   |
+-----------------------------------------------------------------------------+

Bidirectional ALM Synchronization

  • Test Manager features native, out-of-the-box connectors for Atlassian Jira, Microsoft Azure DevOps, and ServiceNow.
  • When business analysts and product owners define Epics, User Stories, or Requirements in Jira/ADO, they synchronize automatically into Test Manager as Requirements.
  • RPA developers and QA engineers link automated Studio test cases to these Test Manager requirements.

Automated Defect Logging

  • When an automated test fails, Test Manager can create a defect in the connected tool, such as Jira, from the failed result.
  • The defect can carry:
    • The exact test case name and failed verification activity.
    • Full robot execution logs, error messages, and stack traces.
    • Screenshots captured by verification activities.
    • Direct links back to the Test Manager execution run for auditability.

Activity Coverage vs. Requirement Coverage

Understanding the distinction between technical coverage and business coverage is a critical exam topic:

+-----------------------------------------------------------------------------+
|                  ACTIVITY COVERAGE VS. REQUIREMENT COVERAGE                 |
|                                                                             |
|   ACTIVITY (CODE) COVERAGE                REQUIREMENT COVERAGE              |
|   - Technical Metric                      - Business Governance Metric      |
|   - Calculated by Studio/Orchestrator     - Calculated by Test Manager      |
|   - Measures: % of workflow activities    - Measures: % of User Stories     |
|     actually executed during test runs      covered by passing test cases   |
|   - Formula:                              - Formula:                        |
|     (Executed Activities / Total) * 100   (Passing Req Tests / Total) * 100 |
+-----------------------------------------------------------------------------+
  1. Activity Coverage (Technical Metric):

    • Measures the percentage of activities within an automation project that were executed during a test run.
    • If a workflow contains 50 activities and a test run executes 40 of them (with 10 activities inside an unreached exception branch), the Activity Coverage is 80%.
    • Studio shows activity coverage for test runs started from the Test Explorer, pointing to untested branches such as exception paths.
  2. Requirement Coverage (Business Metric):

    • Measures the percentage of business requirements (User Stories) that have at least one assigned automated test case whose most recent execution status is Passed.
    • If a project has 10 business user stories in Jira, and 8 of them have linked test cases that passed, the Requirement Coverage is 80%.
    • A project could have 100% Activity Coverage but 0% Requirement Coverage if the test cases were never linked to the business requirements in Test Manager!

5. Enterprise Regression Testing Strategies

To balance pipeline velocity with comprehensive quality assurance, enterprise RPA teams implement a two-tiered testing strategy:

Pipeline TierTrigger EventScope of TestsExecution TimeObjective
Pull Request (PR) Quality GateDeveloper creates PR into main branch.Static Code Analysis (uipcli package analyze) + Fast Unit Tests (Mocked).A few minutes.Prevent broken code, naming violations, and logic regressions from merging.
Nightly / Promotion RegressionScheduled nightly or triggered upon staging deployment.Full Integration & End-to-End System Test Sets on test machines.Longer runs, often an hour or more.Validate end-to-end multi-application health, system SLAs, and third-party integrations.
Loading diagram...
UiPath CI/CD pipeline with the UiPath CLI
Test Your Knowledge

A pipeline runs uipcli package analyze with --treatWarningsAsErrors and --stopOnRuleViolation. The project has three naming-rule violations configured as warnings. What happens?

A

The analyzer displays the warnings in the log but allows the pipeline to proceed to the packaging step.

B

The analyzer automatically refactors the offending variable names to match standard conventions.

C

The analyzer promotes the warnings to errors and exits with a non-zero return code, halting the pipeline and failing the build.

D

The analyzer skips static analysis and proceeds immediately to uipcli test run.

Test Your Knowledge

What is the primary architectural distinction between Activity Coverage and Requirement Coverage in the UiPath Test Suite ecosystem?

A

Activity Coverage measures the percentage of workflow activities executed during test runs, whereas Requirement Coverage measures the percentage of business requirements linked to passing test cases.

B

Activity Coverage is tracked in Jira, whereas Requirement Coverage is tracked exclusively in Studio's Immediate Panel.

C

Activity Coverage evaluates API integrations, whereas Requirement Coverage evaluates desktop UI selectors.

D

Activity Coverage is a financial ROI metric, whereas Requirement Coverage is a robot license utilization metric.

Test Your Knowledge

An enterprise QA team configures an automated regression test set in UiPath Test Manager linked to Atlassian Jira user stories. When a nightly test execution fails due to an unexpected UI selector change, how does Test Manager facilitate incident resolution?

A

It automatically generates a new Studio workflow using generative AI to replace the broken selector.

B

It triggers a rollback of the target ERP application to the previous database backup.

C

It marks the linked Jira requirement as Done and archives the test project.

D

It lets the team create a defect in Jira from the failed result, with the logs, failure details, and screenshots attached.

Sections you finish are checked off in the contents.