Überblick
Ihre Pipeline besteht aus verschiedenen Phasen, die wiederum in Aufträge unterteilt werden können. Für jeden Auftrag können Sie die Schritte so konfigurieren, dass diese die UiPath-Aufgaben enthalten, die in der UiPath-Integration für Azure DevOps enthalten sind.
Warning
Starting with April 2023, and 2023.4, new executions will be blocked in classic folders. For tasks that include a classic folder in their configuration, a
Folder not found message is displayed
, and the task is not performed. Learn more about classic folder removal here.
Command-Line Interface
The Azure DevOps Extension comes with a built-in Command-Line interface (CLI) that is specific to UiPath.
The caching of the CLI
Wenn Sie den Build-Agenten ausführen, kommuniziert die CLI mit dem Orchestrator und ermöglicht Ihnen die Ausführung Ihrer Auftragsaufgaben.
Standardmäßig ist die CLI in der AzureDevOps-Erweiterung vorgepackt und wird bei der ersten Ausführung im Agent.ToolsDirectory
(Azure-Cache) gespeichert.
Beim Ausführen einer Auftragsaufgabe über den Build-Agenten sucht das System nach der CLI, die sich innerhalb von Agent.ToolsDirectory
befinden sollte, um die Ausführung abzuschließen.
Wenn die CLI nicht in Agent.ToolsDirectory
(Azure-Cache) gefunden wird, lädt das System sie automatisch aus dem öffentlichen NuGet-Feed herunter. Voraussetzung dafür ist, dass der öffentliche NuGet-Feed nicht von einer Firewall blockiert wird und über Ihren Build-Agent darauf zugegriffen werden kann.
If you are not able to open up your firewall from your build agent, you can manually download the CLI (corresponding to the build version used for your current plugin), and manually place it inside the Agent.ToolsDirectory
, using the Install Platform task.
Voraussetzungen
To prepare your environment, see Azure DevOps extension prerequisites.
Überlegungen
Bevor Sie mit der Ausführung von Aufgaben in Ihrer Pipeline beginnen, sollten Sie Folgendes beachten:
- Sie müssen UiPath-Aufgaben nur in Windows-basierten Build-Agenten ausführen.
- Configure UiPath Orchestrator service connection.
- Zum Testen der Funktionen ist die Orchestrator-Version 2020.4 oder höher erforderlich.
- Wenn Sie eine lokale Version des Orchestrators mit HTTPS verwenden, importieren Sie das SSL-Zertifikat, um sicherzustellen, dass HTTPS-Aufrufe an den Orchestrator vertrauenswürdig sind.
Hinzufügen von UiPath-Aufgaben zum Pipeline-Agent-Pool
Um eine Automatisierung in Ihrer Pipeline zu definieren, müssen Sie dem Agentenpool einzelne Aufgaben hinzufügen und konfigurieren.
- in Azure DevOps und wechseln Sie zu Pipelines.
- Erstellen Sie eine neue Pipeline oder bearbeiten Sie eine vorhandene.
- Fügen Sie einen Auftrag zum Agent-Pool hinzu.
- Suchen Sie nach einer der folgenden Aufgaben:
- Klicken Sie auf Hinzufügen und konfigurieren Sie die Aufgabe.
- Ordnen Sie die Aufgaben im Agent-Pool bei Bedarf neu an und speichern Sie dann Ihre Pipeline.

UiPath Run Job
Sie können diese Aufgabe verwenden, um einen Prozess auszuführen, der bereits auf einer Orchestrator-Instanz bereitgestellt wurde.
For more information, see Processes and Jobs.
Konfiguration
Verwenden Sie die folgende Tabelle, um die Eingaben von UiPath Run Job zu konfigurieren.
Input | Description |
---|---|
Display name (Required) | Enter a name for your task. |
Orchestrator connection (Required) | Configure the service connection to access UiPath Orchestrator services. You can configure a connection only for this step or use an existing global connection. For more information, see Configuring UiPath Orchestrator service connection. |
Process (Required) | The process is the package version that is linked to a particular folder type. You need to configure this input based on the type of folder on which the process is deployed. For modern folders, the input is the name of the process that's listed in the Processes tab. To find out the process name, you can open Orchestrator, open your folder, and navigate to Automations > Processes. For classic folders (deprecated), the input is the name of the process name, followed by and underscore, and then the environment name, where the Robots are hosted. As an example for this naming convention, consider the following variables: The name of the process is TestAutomation .The name of the environment is Production .Your process name for this input is TestAutomation_Production .Related articles: Managing Folders Environments |
Input parameters | Specify the file path to a JSON input file, such as Input\jobParameters.json . |
Priority | Select the priority of the job execution if you want to set a specific order at the process level. By default, this input is set to Normal . |
Orchestrator folder (Required) | Specify the folder where the process is being deployed. For classic folders, you can use specific robot names. For modern folders, you can use specific user and machine names. |
Strategy | Specify the execution strategy for dynamic allocation or robot-specific. For dynamically allocated jobs, the process is executed under the account and machine that is available. Alternatively, you can choose robot-specific jobs. |
Job Type | Available only on modern folders. Choose the license model of the runtime under which the job is to be executed. For more information, see Robot licensing. |
No. of jobs | Available only for dynamic allocation strategy. Specify the number of times you want to run this task. By default, this input is set to 1 . |
User | Available only on modern folders alongside a dynamic allocation strategy. Add the machine username. For example, a local user for this input is MachineName\UserName . |
Machine | Available only on modern folders alongside a dynamic allocation strategy. The name of the machine that runs the execution. |
Output | The results are collected in a JSON file. You need to specify the path of the job results (e.g., Output\testResults.json ). If you leave this input blank, the default output is sent to the artifact staging directory under the following name UiPathResults.json . |
Timeout | Specify the number of seconds to wait before the request times out. |
Fail task when job fails | Select this input if you want to set the task as failed when at least one job failed. This input is selected by default. |
Wait for job completion | Wait for job run completion. This input is selected by default. |
Trace Level | Select the logging level from the dropdown list. |
robotsIds | Comma-separated list of specific robot names. |

YAML-Pipeline
Sie können eine Vorschau eines vollständig geparsten YAML-Dokuments für UiPath Run Job anzeigen.
Zur Vorschau der YAML-Pipeline anklicken
- task: UiPathRunJob@2
displayName: 'Start ProcessProject'
inputs:
#orchestratorConnection: 'service-connection-name' # Service connection to UiPath Orchestrator
#processName: 'ProccessProject_CI-Pipeline' # The name of the process
#parametersFilePath: 'Input\\jobParameters.json' # json file with input values if the process requires them
#priority: 'Low' # Options 'Low', 'Normal', 'High'
#folderName: 'MyFolder' # Specify the folder to deploy to. For clasic folders, you can use specific robot names. For modern folders, you can use specific user and machine names.
#strategy: 'Dynamically' # Options 'Specific', 'Dynamically'
#jobCount: 1 # The number of job runs. (default 1) - used if strategy is 'Dynamically'
#user: 'MyUser'
#machine: 'machine'
#robotsIds: 'robot1, robot2'
#resultFilePath: 'Output\\testResults.json'
#timeout: 3600
#failWhenJobFails: false
#waitForJobCompletion: false,
#traceLevel: 'None' # Options: Critical, Error, Warning, Information, Verbose, None
UiPath Manage Assets
Sie können diese Aufgabe verwenden, um Assets auf Ihrer Orchestrator-Instanz bereitzustellen, zu aktualisieren oder zu löschen.
Die folgenden Asset-Typen werden unterstützt:
- Text – speichert nur Zeichenfolgen (Anführungszeichen sind nicht erforderlich)
- Boolescher Wert – unterstützt die Werte „true“ und „false“
- Integer – speichert nur ganze Zahlen
- Anmeldeinformationen – enthalten Benutzernamen und Kennwörter, die der Roboter zur Ausführung bestimmter Prozesse benötigt. Für diesen Asset-Typ müssen Sie den Benutzernamen und das Kennwort codieren, indem Sie
::
verwenden, um die beiden Felder zu trennen.
Um Assets bereitzustellen, müssen Sie sie in einer CSV-Datei hinzufügen, die in UTF-8 codiert ist, wie im folgenden Beispiel:
name,type,value, description asset_1_name,text,asset_value, asset_2_name,integer,123,asset_3_name,boolean,false, this is an asset description asset_4_name,credential,"username::password",
For more information, see Orchestrator Assets.
Konfiguration
Verwenden Sie die folgende Tabelle, um die Eingaben von UiPath Manage Assets zu konfigurieren.
Argument | Description |
---|---|
Display name (Required) | Enter a name for your task. |
Orchestrator connection (Required) | Configure the service connection to access UiPath Orchestrator services. You can configure a connection only for this step or use an existing global connection. For more information, see Configuring UiPath Orchestrator service connection. |
Orchestrator folder (Required) | Specify the folder where the process is being deployed. For classic folders, you can use specific robot names. For modern folders, you can use specific user and machine names. |
Choose asset action (Required) | Select an option from the dropdown list. |
Assets CSV File (Required) | Add the CSV file path. You can use the same file for both Deploy and Update asset actions. Considerations: • The usage of quotes within values is allowed (e.g., ""A new version of RPA REPORT – AM Email Quote to Agent is available"" ).• JSON values are supported (e.g., "{""MaxRetryNumber"":3 ,""Name"":My Test Process}" ).• Comments are not supported (e.g. asset_1_name,credential,""username::password"" # asset_1_description comment ).For Delete asset actions, use only the name column and leave the other columns empty. (Optional) You can set a description for each asset using the following syntax: type, value , description . |
Trace Level | Select the logging level from the dropdown list. |

YAML-Pipeline
Sie können eine Vorschau eines vollständig geparsten YAML-Dokuments für UiPath Manage Assets anzeigen.
- task: UiPathAssets@2
displayName: 'Deploy/Update assets'
inputs:
#orchestratorConnection: 'service-connection-name' # Service connection to UiPath Orchestrator
#assetActionType: 'Deploy' # Options: Deploy, Delete
#csvFile: 'assets_deploy.csv' # the path to the csv file containing the assets description,
#traceLevel: 'None' # Options: Critical, Error, Warning, Information, Verbose, None
UiPath-Installationsplattform
You can use the UiPathInstallPlatform task when build agents don't have access to the UiPath NuGet Feed. You should execute the UiPathInstallPlatform task before any other tasks in the extension. This task has a prepackaged tool that all the other UiPath tasks are using. The task is optional, but its advantage is that it reduces the time to execute other tasks.

CLI-Versionsauswahl
Select the version of the CLI that you want to use with your Azure DevOps Extension, from the Choose a CLI version (Required) dropdown.
Die Optionen in der Dropdownliste umfassen:
- Die neuesten verfügbaren Versionen der CLI.
- Die Umgebungsanforderungen, die mit der von Ihnen ausgewählten CLI-Version kompatibel sein müssen.

Pfad zu nupkg . der CLI
Wenn Ihre Pipeline nicht auf den öffentlichen UiPath-Feed zugreifen kann und die CLI-Version, die Sie aus der Dropdownliste ausgewählt haben, nicht herunterladen kann, führen Sie die folgenden Schritte aus:Â
- Download the desired CLI version from the UiPath Public Feed. Â
- Legen Sie die heruntergeladene NUPKG-Datei im Verzeichnis
Agent.Tools
Ihres Build-Agenten ab. Merken Sie sich den Pfad der NUPKG-Datei im VerzeichnisAgent.Tools
. Beispiel:$(Agent.ToolsDirectory)\nupkg\UiPath.CLI.xx.xx.xx.nupkg
 - Use the InstallPlatform task, and input the path used at step 2 inside the Path to CLI's nupkg field.

YAML-Pipeline
Sie können eine Vorschau eines vollständig geparsten YAML-Dokuments für die UiPath-Installationsplattform anzeigen, einschließlich des CLI-Versionsselektors:
- task: UiPathInstallPlatform-preview@2
displayName: 'UiPath Install Platform'
inputs:
cliVersion: 'WIN_22.10.8418.30339' or 'X_22.10.8418.30339' or '21.10.8319.10920
cliNupkgPath:'$(Agent.ToolsDirectory)\nupkg\UiPath.CLI.X.22.10.8418.30339.nupkg'
UiPath Pack
Mit der UiPathPack-Aufgabe können Sie ein vorhandenes UiPath-Projekt in ein NuGet-Paket packen.
Konfiguration
Verwenden Sie die folgende Tabelle, um die Eingaben von UiPath Pack zu konfigurieren.
Argument | Description |
---|---|
Display name (Required) | Enter a name for your task. |
Choose versioning method (Required) | You can select an automatically generated version, use the project version, or define a new version. For more information, see Package Versions. |
Version (Required) | Available only on modern folders alongside a dynamic allocation strategy. Specifying the package version provides the possibility of tracking the built packages and their source versioning more efficiently. For example, the Microsoft assembly pattern can be utilized to build the NuGet package version: [Major].[Minor].[BuildNumber].[RevisionNumber]. |
Project(s) Path (Required) | Select the location of the project that is going to be packaged. It can be a direct path to a project.json file or a directory with one or multiple projects. In the latter case, each level one project is packaged individually. |
Choose output type (Required only for manual versioning) | Set a project type for the project that is going to be packaged. If you set None , the project type is going to be extracted from the project's JSON file.The following project types are supported: 'Process', 'Library', 'Tests', 'Objects', 'None'. |
Orchestrator connection (Required) | Configure the service connection to access UiPath Orchestrator services. You can configure a connection only for this step or use an existing global connection. For more information, see Configuring UiPath Orchestrator service connection. |
Output Path | Set a folder path where the package is going to be placed. |
Run workflows analysis | Select this option to run workflow analysis rules on your automation project (e.g., Fail jobs in case of errors). By default, this option is not activated. For more information, see Application Testing Workflow Analyzer Rules. |
Trace Level | Select the logging level from the dropdown list. |

YAML-Pipeline
Sie können eine Vorschau eines vollständig geparsten YAML-Dokuments für das UiPath Pack anzeigen.
Zur Vorschau der YAML-Pipeline anklicken
- task: UiPathPack@2
inputs:
#versionType: AutoVersion # Options: AutoVersion, CurrentVersion, ManualVersion
#version: '1.0.0' # Required when versionType == ManualVersion
#projectJsonPath: '$(Build.SourcesDirectory)\MyFirstProcess'
#outputPath: '$(Build.ArtifactStagingDirectory)\Packages\MyFirstProcess'
#outputType: 'None' # Options: Process, Library, Tests, Objects, None
#runWorkflowAnalysis: 'False'
#orchestratorConnection: 'service-connection-name' # Service connection to UiPath Orchestrator,
#traceLevel: 'None' # Options: Critical, Error, Warning, Information, Verbose, None
UiPath Deploy
Mit der UiPathDeploy-Aufgabe können Sie ein UiPath NuGet-Paket auf dem UiPath Orchestrator bereitstellen.
Wichtig
Stellen Sie sicher, dass Ihr Netzwerk den Zugriff auf den folgenden NuGet-Paketfeed zulässt:
- https://api.nuget.org/v3/index.json
- https://uipath.pkgs.visualstudio.com/_packaging/nuget-packages/nuget/v3/index.json
- https://uipath.pkgs.visualstudio.com/Public.Feeds/_packaging/UiPath-Internal/nuget/v3/index.json
- https://www.myget.org/F/workflow
- http://www.myget.org/F/uipath
- https://www.myget.org/F/uipath-dev/api/v3/index.json
Konfiguration
Verwenden Sie die folgende Tabelle, um die Eingaben von UiPath Deploy zu konfigurieren.
Argument | Description |
---|---|
Display name (Required) | Enter a name for your task. |
Orchestrator connection (Required) | Configure the service connection to access UiPath Orchestrator services. You can configure a connection only for this step or use an existing global connection. For more information, see Configuring UiPath Orchestrator service connection. |
Package(s) (Required) | Define the feed for your UiPath NuGet packages. |
Automatically create process | Select this option if you want to deploy a package without creating a process. The option is selected by default. If selected, you need to configure the Entry Point Path parameter. |
Orchestrator folder (Required) | Specify the folder where the process is being deployed. For classic folders (deprecated), you can use specific robot names. For modern folders, you can use specific user and machine names. |
Environment | (Optional) If you use classic folders (deprecated), you need to define the environment where the packages are going to be deployed. You can use this field to create or update packages. You can use the following example to add your environments to this field, separated by a comma: testingEnvironment, productionEnvironment . |
Entry Point Path(s) (Required) | Specify entry point paths to create or update a process. The entry point path specifies the file path starting from the root of the project. Before configuring the entry point paths, consider the following: Entry points are available for Orchestrator version 21.4 or higher (e.g. 21.4.UiPathDeploy.entryPoints ). For Orchestrator versions lower than 21.4, you need to enter any value, as the field must not remain empty.The default entry point is set to Main.xaml .Multiple entrypoints can be specified as 'Main.xaml, EntryPoint2.xaml '. For classic folders (deprecated) you can specify only one entry point for each environment. For nested folders you need to specify the file path, as follows: Folder01/Folder02/Main.xaml or Folder01/Folder02/Entrypoint.xaml For more information, see Orchestrator Entry Points. |
Trace Level | Select the logging level from the dropdown list. |

YAML-Pipeline
Sie können eine Vorschau eines vollständig geparsten YAML-Dokuments für UiPath Deploy anzeigen.
Zur Vorschau der YAML-Pipeline anklicken
- task: UiPathDeploy@2
inputs:
#orchestratorConnection: # Service connection to UiPath Orchestrator
#packagesPath: '$(Build.ArtifactStagingDirectory)\Packages\ITAutomationProcess'
#folderName: 'ITAutomation'
#environments: 'AutomationRobots' # Optional,
#traceLevel: 'None' # Options: Critical, Error, Warning, Information, Verbose, None
UiPath Test
Typically, the UiPath Test task runs an existing test set on Orchestrator. Additionally, you can use it to pack, deploy, and run test cases by specifying the path to a UiPath test project. The latter option shows up in Orchestrator as a transient test set.
Nachdem die Aufgabe die Ausführung abgeschlossen hat, werden die Testergebnisse auf die Registerkarte Test in Azure DevOps hochgeladen. Sie können den Ausgabepfad der Testergebnisse im JUnit-Format angeben.
Je nach Ergebnis wird der Build entweder als erfolgreich (alle Testfälle sind bestanden) oder fehlgeschlagen (mindestens ein Testfall ist fehlgeschlagen) markiert.
Konfiguration
Verwenden Sie die folgende Tabelle, um die Eingaben von UiPath Test zu konfigurieren.
Argument | Description |
---|---|
Display name (Required) | Enter a name for your task. |
Choose a test execution method | Choose the test that you want to execute: Execute test set: Specify and run an existing test set in Orchestrator. Execute tests in project: Specify a project, deploy the package and run the test cases as part of a transient test set. |
Orchestrator connection (Required) | Configure the service connection to access UiPath Orchestrator services. You can configure a connection only for this step or use an existing global connection. For more information, see Configuring UiPath Orchestrator service connection. |
Input parameters | Specify the file path to a JSON input file, such as Input\jobParameters.json .Specify the type argument if you're creating new input arguments at the Test Set level. Otherwise, you can use name and value . |
Test set (Required for Execute test set method) | Specify the name of your Orchestrator test set. |
Test project path (Required for Execute tests in project method) | Specify the test project location that is going to be executed as part of a transient test set. |
Environment (Required for Execute tests in project method) | If you use classic folders (deprecated), you need to define the environment where the packages are going to be deployed. You can use this field to create or update packages. You can use the following example to add your environments to this field, separated by a comma: testingEnvironment, productionEnvironment . |
Orchestrator folder (Required) | Specify the folder where the process is being deployed. For classic folders (deprecated), you can use specific robot names. For modern folders, you can use specific user and machine names. |
Test results output path | Specify the test results output path in JUnit format (e.g., Output\testResults.json ). |
Timeout | Specify the number of seconds to wait before the request times out. |
Trace Level | Select the logging level from the dropdown list. |
Attach Robot Logs | Select this option to attach INFO level logs from the executing Robot. By default, this is unselected. For more information, see Robot Logs. |

YAML-Pipeline
Sie können eine Vorschau eines vollständig geparsten YAML-Dokuments für UiPath Test anzeigen.
Zur Vorschau der YAML-Pipeline anklicken
-- task: UiPathTest@2
inputs:
#testTarget: TestProject # Options: TestProject, TestSet
#orchestratorConnection: # Service connection to UiPath Orchestrator
#testProjectPath: '$(Build.SourcesDirectory)\MobileAutomationTests' # Required only when testTarget = TestProject
#testSet: 'MobileAutomationTests' # Required only when testTarget = TestSet
#folderName: 'MobileAutomationTesting'
#environment: 'TestingRobots' # Required only when testTarget = TestProject and the folder is a classic folder
#testReportDestination: '$(Build.ArtifactStagingDirectory)\report.xml' # Optional
#timeout: 200 # Optional, default = 3600s,
#traceLevel: 'None' # Options: Critical, Error, Warning, Information, Verbose, None task: UiPathTest@2
inputs:
#testTarget: TestProject # Options: TestProject, TestSet
#orchestratorConnection: # Service connection to UiPath Orchestrator
#testProjectPath: '$(Build.SourcesDirectory)\MobileAutomationTests' # Required only when testTarget = TestProject
#testSet: 'MobileAutomationTests' # Required only when testTarget = TestSet
#folderName: 'MobileAutomationTesting'
#environment: 'TestingRobots' # Required only when testTarget = TestProject and the folder is a classic folder
#testReportDestination: '$(Build.ArtifactStagingDirectory)\report.xml' # Optional
#timeout: 200 # Optional, default = 3600s,
#traceLevel: 'None' # Options: Critical, Error, Warning, Information, Verbose, None- task: UiPathTest@2
inputs:
#testTarget: TestProject # Options: TestProject, TestSet
#orchestratorConnection: # Service connection to UiPath Orchestrator
#testProjectPath: '$(Build.SourcesDirectory)\MobileAutomationTests' # Required only when testTarget = TestProject
#testSet: 'MobileAutomationTests' # Required only when testTarget = TestSet
#folderName: 'MobileAutomationTesting'
#environment: 'TestingRobots' # Required only when testTarget = TestProject and the folder is a classic folder
#testReportDestination: '$(Build.ArtifactStagingDirectory)\report.xml' # Optional
#timeout: 200 # Optional, default = 3600s,
#traceLevel: 'None' # Options: Critical, Error, Warning, Information, Verbose, None
Aktualisiert vor 13 Tagen