- Test Suite の利用を開始する
- Studio
- Orchestrator
- Testing ロボット
- Test Manager
- CI/CD との連携
ジョブ
[UiPath のインストール プラットフォーム] タスクは、次の場合に使用できます。
- CLI の別のバージョンをダウンロードして、たとえば Windows プロジェクトとクロスプラットフォーム プロジェクトをパッケージ化できるようにする場合。
-
ビルド エージェントが UiPath NuGet フィードにアクセスできない場合。
プラグイン内の他のタスクを実行する前に、[UiPath のインストール プラットフォーム] タスクを実行します。[UiPath のインストール プラットフォーム] タスクは、対応するバージョンがキャッシュ内で利用できない場合にのみ、NuGet パブリック フィードから CLI をダウンロードします。
Azure DevOps 拡張機能で使用する CLI のバージョンを、[Choose a CLI version (CLI のバージョンを選択)] ドロップダウンから選択します。
ドロップダウン リストには、次ののオプションが含まれています。
- CLI の使用可能な最新のバージョン
- 選択する CLI バージョンに対応している環境の要件。
パイプラインが UiPath のパブリック フィードへのアクセスに失敗し、ドロップダウン リストから選択した CLI バージョンをダウンロードできない場合、以下の手順を実行します。
- UiPath のパブリック フィードから目的の CLI バージョンをダウンロードします。
-
ダウンロードした NUPKG ファイルを、ビルド エージェントのエージェント ワークスペース ディレクトリ内に保存します。エージェント ワークスペース ディレクトリ内の nupkg ファイルのパスを覚えておいてください。例:
${WORKSPACE}\nupkg\UiPath.CLI.xx.xx.xx.nupkg
[UiPath のインストール プラットフォーム] タスクを使用し、手順 2 で使用したパスを CLI の nupkg フィールドへのパスに入力します。
ビルド後のステップ [UiPath のジョブを実行] は、Orchestrator インスタンスに既にデプロイされているプロセスを開始します。v2020.10 の Orchestrator では、このタスクによって実行されるプロセスを [プロセス] タブで確認できます。v2021.10 以降の Orchestrator では、このタスクによって実行されるプロセスを [オートメーション] の [プロセス] で確認できます。
ジョブのパラメーター |
説明 |
---|---|
プロセス (必須) |
プロセス名です。プロセス名は Orchestrator の UI から取得できます。 プロセスがモダン フォルダーにデプロイされている場合、この引数は [プロセス] タブに表示されているプロセスの [名前] である必要があります。プロセスがクラシック フォルダーにデプロイされている場合、この引数はプロセスの [名前] と [ロボット グループ] の組み合わせ (例: 名前が ProcessA でロボット グループが Production の場合: ProcessA_Production) で設定する必要があります。 |
パラメーター |
JSON 入力ファイルのフル パスです。プロセスが入力を必要とする場合に使用されます。 JSON ファイル形式の例:
|
優先度 |
ジョブの実行の優先度です。 |
ストラテジ |
ジョブの実行ストラテジとして、ジョブを動的に割り当てるか、特定のロボットに割り当てるかを指定します。次のいずれかのオプションから選択します。
|
ジョブの種類 (モダン フォルダーでのみ使用可能) |
ジョブを実行するランタイムのライセンス モデルを選択します。 |
Orchestrator のアドレス |
プロセスを実行する Orchestrator インスタンスのアドレスです。 |
Orchestrator テナント |
Orchestrator テナントを指定します。 |
Orchestrator のフォルダー | 指定したプロセスがデプロイされたフォルダーを指定します。
サブフォルダーを入力するには、親フォルダーの名前とサブフォルダーの名前の両方を入力してください。例:
AccountingTeam\TeamJohn
|
認証 |
Orchestrator に対する認証を行うには、Jenkins で事前に資格情報を作成する必要があります。認証には、次の 4 つの方法があります。 (1) ユーザー名とパスワードを使用してオンプレミスの Orchestrator に認証する (2) 更新トークン (API キー) を使用してクラウドの Orchestrator に認証する (3) 外部アプリの認証を使用してクラウドの Orchestrator に認証する (4) 外部アプリの認証を使用して、オンプレミスの Orchestrator に認証する |
ジョブ結果の出力パス |
ジョブの結果の出力パスを指定します (例:
testResults.json )。結果は、JSON 形式で出力されます。
指定しない場合は、成果物のステージング ディレクトリに
UiPathResults.json として出力されます。出力は、JSON 形式です。
|
Timeout |
ジョブの実行のタイムアウトを秒単位で指定します。 |
ジョブの失敗時に失敗 |
少なくとも 1 つのジョブが失敗すると、タスクが失敗します。既定値は [True] です。 |
ジョブの完了まで待機 |
ジョブの実行が完了するまで待機します。既定値は [True] です。 |
ログのトレース レベル |
トレース ログを以下のいずれかのレベルで有効化するために使用する設定です。
|
ジョブの数 |
ジョブの実行回数です。既定値は 1 です。 |
ユーザー (モダン フォルダーでのみ使用可能) |
ユーザーの名前です。ユーザーは、Orchestrator のユーザーではなくマシンのユーザーである必要があります。 ローカル ユーザーの場合、MachineName\UserName の形式で指定します。 |
マシン (モダン フォルダーでのみ使用可能) |
マシンの名前です。 |
ロボット名 |
コンマで区切られた特定のロボット名のリストです。 |
pipeline {
agent any
environment {
MAJOR = '1'
MINOR = '0'
}
stages {
stage ('Build') {
UiPathRunJob(
credentials: UserPass('825c83c9-9a14-44eb-883a-af54f8078af0'),
failWhenJobFails: true,
folderName: 'A_Classic',
orchestratorAddress: 'https://testorchestrator.some-domain.com',
orchestratorTenant: 'Default',
parametersFilePath: '',
priority: 'Low',
processName: 'ProcessA_EnvB',
resultFilePath: 'output.json',
strategy: Dynamically(jobsCount: 1, machine: 'TestMachine', user: 'TestUser'), timeout: 3600, waitForJobCompletion: true, traceLoggingLevel: 'None'
)
UiPathRunJob(
credentials: UserPass('825c83c9-9a14-44eb-883a-af54f8078af0'),
failWhenJobFails: true,
folderName: 'A_Classic',
orchestratorAddress: 'https://testorchestrator.some-domain.com',
orchestratorTenant: 'Default',
parametersFilePath: '',
priority: 'Low',
processName: 'ProcessA_EnvB',
resultFilePath: 'output.json',
strategy: Robot('robot1,robot2'),
timeout: 1800,
waitForJobCompletion: false,
traceLoggingLevel: 'None'
)
}
}
}
pipeline {
agent any
environment {
MAJOR = '1'
MINOR = '0'
}
stages {
stage ('Build') {
UiPathRunJob(
credentials: UserPass('825c83c9-9a14-44eb-883a-af54f8078af0'),
failWhenJobFails: true,
folderName: 'A_Classic',
orchestratorAddress: 'https://testorchestrator.some-domain.com',
orchestratorTenant: 'Default',
parametersFilePath: '',
priority: 'Low',
processName: 'ProcessA_EnvB',
resultFilePath: 'output.json',
strategy: Dynamically(jobsCount: 1, machine: 'TestMachine', user: 'TestUser'), timeout: 3600, waitForJobCompletion: true, traceLoggingLevel: 'None'
)
UiPathRunJob(
credentials: UserPass('825c83c9-9a14-44eb-883a-af54f8078af0'),
failWhenJobFails: true,
folderName: 'A_Classic',
orchestratorAddress: 'https://testorchestrator.some-domain.com',
orchestratorTenant: 'Default',
parametersFilePath: '',
priority: 'Low',
processName: 'ProcessA_EnvB',
resultFilePath: 'output.json',
strategy: Robot('robot1,robot2'),
timeout: 1800,
waitForJobCompletion: false,
traceLoggingLevel: 'None'
)
}
}
}
uft-8
でエンコードされた CSV ファイルでアセットを記述する必要があります。
name,type,value,description
asset_1_name,text,asset_value,this is an test description # we can have comments
asset_2_name,integer,123
asset_3_name,boolean,false
asset_4_name,credential,"username::password"
name,type,value,description
asset_1_name,text,asset_value,this is an test description # we can have comments
asset_2_name,integer,123
asset_3_name,boolean,false
asset_4_name,credential,"username::password"
アセットには次の 4 つの種類があります。
- テキスト
- Integer
- Boolean
-
資格情報です。ユーザー名とパスワードをエンコードする必要があります。
::
を使用して 2 つのフィールドを区切ります。
ジョブのパラメーター |
説明 |
---|---|
操作 |
指定したアセットに対してデプロイまたは削除を実行できます。デプロイされたアセットが存在する場合は、更新されます。 |
Orchestrator のアドレス |
アセットをデプロイまたは更新する Orchestrator インスタンスのアドレスです。 |
Orchestrator テナント |
アセットをデプロイまたは更新する Orchestrator テナントを指定します。 |
Orchestrator のフォルダー |
アセットをデプロイまたは更新するフォルダーを指定します。 サブフォルダーを入力するには、親フォルダーの名前とサブフォルダーの名前の両方を入力してください。例:
AccountingTeam\TeamJohn
|
認証 |
Orchestrator に対する認証を行うには、Jenkins で事前に資格情報を作成する必要があります。認証には、次の 4 つの方法があります。 (1) ユーザー名とパスワードを使用してオンプレミスの Orchestrator に認証する (2) 更新トークン (API キー) を使用してクラウドの Orchestrator に認証する (3) 外部アプリの認証を使用してクラウドの Orchestrator に認証する (4) 外部アプリの認証を使用して、オンプレミスの Orchestrator に認証する |
CSV ファイルのパス |
アセットの詳細を含む CSV ファイルへのパスです。アセットのデプロイまたは更新にも同じファイルを使用できますが、更新の場合には type は不要です。 type フィールドは空でも問題ありませんが、列自体は存在する必要があります。アセットを削除する場合は name 列のみが使用されるため、他の列は空にできますが、列自体は存在する必要があります。
必要に応じて、各アセットの説明を設定できます (例:
type , value , description )。各行が新しいアセットとして解釈されるため、改行は必ず削除してください。
|
ログのトレース レベル |
トレース ログを以下のいずれかのレベルで有効化するために使用する設定です。
|
pipeline {
agent any
environment {
MAJOR = '1'
MINOR = '0'
}
stages {
stage ('Build') {
UiPathAssets (
assetsAction: DeployAssets(),
credentials: Token(accountName: '', credentialsId: ''),
filePath: '${WORKSPACE}/test.csv',
folderName: 'Default',
orchestratorAddress: 'https://test-orchestrator.somedomain.com',
orchestratorTenant: 'Default',
traceLoggingLevel: 'None'
)
UiPathAssets(
assetsAction: DeleteAssets(),
credentials: UserPass('825c83c9-9a14-44eb-883a-af54f8078af0'),
filePath: '${WORKSPACE}/test.csv',
folderName: 'Default',
orchestratorAddress: 'https://test-orchestrator.somedomain.com',
orchestratorTenant: 'Default',
traceLoggingLevel: 'None'
)
}
}
}
pipeline {
agent any
environment {
MAJOR = '1'
MINOR = '0'
}
stages {
stage ('Build') {
UiPathAssets (
assetsAction: DeployAssets(),
credentials: Token(accountName: '', credentialsId: ''),
filePath: '${WORKSPACE}/test.csv',
folderName: 'Default',
orchestratorAddress: 'https://test-orchestrator.somedomain.com',
orchestratorTenant: 'Default',
traceLoggingLevel: 'None'
)
UiPathAssets(
assetsAction: DeleteAssets(),
credentials: UserPass('825c83c9-9a14-44eb-883a-af54f8078af0'),
filePath: '${WORKSPACE}/test.csv',
folderName: 'Default',
orchestratorAddress: 'https://test-orchestrator.somedomain.com',
orchestratorTenant: 'Default',
traceLoggingLevel: 'None'
)
}
}
}
アプリケーション: RPA
種類: Build task
[UiPath の Nuget パッケージをパブリッシュ] タスクは標準のジョブおよびパイプラインで利用でき、既存の UiPath プロジェクトを NuGet パッケージ化できます。
ジョブのパラメーター |
説明 |
---|---|
バージョン管理メソッドを選択 |
UiPath のパッケージはバージョン管理されています。[UiPath の Nuget パッケージをパブリッシュ] タスクでは、次の 3 つの異なるオプションから選択できます。 (1) 自動生成 (2) ユーザー設定のパッケージのバージョン管理を使用 (3) プロジェクトで設定されている現在のバージョンを使用 |
プロジェクトのパス |
パッケージ化するプロジェクトの場所です。
project.json ファイル、または 1 つ以上のプロジェクトを含むディレクトリへの直接パスを選択できます。後者の場合は、レベル 1 の各プロジェクトは個別にパッケージ化されます。
|
出力フォルダー |
パッケージを作成するフォルダーへのパスです。 |
出力の種類 |
プロジェクトの出力の種類です。プロジェクトの種類には、次の 5 つのオプションがあります。 (1) Output type of the project (2) Pack a process project (3) Pack a library project (4) Pack a tests project (5) Pack an objects project |
ワークフローの分析を実行 |
パッケージ化の前にワークフロー分析を実行し、あらかじめ定義されたルールの違反がプロジェクトにないかを確認します。エラーが検出されるとジョブは失敗します。既定では、分析は実行されません。 |
ログのトレース レベル |
トレース ログを以下のいずれかのレベルで有効化するために使用する設定です。
|
Orchestrator を使用 |
ライブラリをパッケージ化するときに Orchestrator のフィードを使用します。v20.4 以降の Orchestrator が必要です。また、[テナント] > [設定] > [デプロイ] でライブラリ フィードの API キー認証を許可する必要があります。 |
Orchestrator のアドレス |
ライブラリの依存関係の復元元である Orchestrator インスタンスのアドレスです。 |
Orchestrator テナント |
ライブラリの依存関係の復元元となる Orchestrator テナントです。 |
認証 |
Orchestrator に対する認証を行うには、Jenkins で事前に資格情報を作成する必要があります。認証には、次の 4 つの方法があります。 (1) ユーザー名とパスワードを使用してオンプレミスの Orchestrator に認証する (2) 更新トークン (API キー) を使用してクラウドの Orchestrator に認証する (3) 外部アプリの認証を使用してクラウドの Orchestrator に認証する (4) 外部アプリの認証を使用して、オンプレミスの Orchestrator に認証する |
ipeline {
agent any
environment {
MAJOR = '1'
MINOR = '0'
}
stages {
stage ('Build') {
steps {
UiPathPack (
outputPath: "Output\)\)\)\)${env.BUILD_NUMBER}",
projectJsonPath: "UiBank\)\)\)\)project.json",
version: [$class: 'ManualVersionEntry', version: "${MAJOR}.${MINOR}.${env.BUILD_NUMBER}"]
useOrchestrator: true,
traceLoggingLevel: "None",
orchestratorAddress: "OrchestratorUrl",
orchestratorTenant: "tenant name",
credentials: [$class: 'UserPassAuthenticationEntry', credentialsId: “credentialsId”]
)
}
}
}
}
ipeline {
agent any
environment {
MAJOR = '1'
MINOR = '0'
}
stages {
stage ('Build') {
steps {
UiPathPack (
outputPath: "Output\)\)\)\)${env.BUILD_NUMBER}",
projectJsonPath: "UiBank\)\)\)\)project.json",
version: [$class: 'ManualVersionEntry', version: "${MAJOR}.${MINOR}.${env.BUILD_NUMBER}"]
useOrchestrator: true,
traceLoggingLevel: "None",
orchestratorAddress: "OrchestratorUrl",
orchestratorTenant: "tenant name",
credentials: [$class: 'UserPassAuthenticationEntry', credentialsId: “credentialsId”]
)
}
}
}
}
アプリケーション: RPA
種類: Post build task
[UiPath の NuGet パッケージをデプロイ] は、標準のジョブおよびパイプラインで使用でき、UiPath NuGet パッケージを UiPath Orchestrator にデプロイできます。
ジョブのパラメーター |
説明 |
---|---|
パッケージのパス |
UiPath NuGet パッケージが格納されているフォルダーです。 |
Orchestrator のアドレス |
パッケージをデプロイする Orchestrator インスタンスのアドレスです。 |
Orchestrator テナント |
パッケージをデプロイする Orchestrator テナントです。 |
Orchestrator のフォルダー |
デプロイ先のフォルダーです。フォルダーがクラシック フォルダーの場合、[ロボット グループ] のフィールドも設定する必要があります。モダン フォルダーの場合は、[ロボット グループ] フィールドの設定は不要です。 サブフォルダーを入力するには、親フォルダーの名前とサブフォルダーの名前の両方を入力してください。例:
AccountingTeam\TeamJohn
|
ロボット グループ (クラシック フォルダーの場合は必須) |
パッケージをプロセスとしてデプロイするロボット グループです。既存のプロセスがあるプロジェクトとロボット グループでは、プロセスが更新され、最新のプロジェクト バージョンが使用されます。パッケージをプロセスとしてデプロイするロボット グループを指定します。既存のプロセスがあるプロジェクトとロボット グループでは、プロセスが更新され、最新のプロジェクト バージョンが使用されます。 |
エントリ ポイント |
プロセスを作成または更新するエントリ ポイントを指定します。このエントリ ポイントは、プロジェクトのルートから開始するファイル パスを指定します。 条件:
|
認証 |
Orchestrator に対する認証を行うには、Jenkins で事前に資格情報を作成する必要があります。認証には、次の 4 つの方法があります。 (1) ユーザー名とパスワードを使用してオンプレミスの Orchestrator に認証する (2) 更新トークン (API キー) を使用してクラウドの Orchestrator に認証する (3) 外部アプリの認証を使用してクラウドの Orchestrator に認証する (4) 外部アプリの認証を使用して、オンプレミスの Orchestrator に認証する |
ログのトレース レベル |
トレース ログを以下のいずれかのレベルで有効化するために使用する設定です。
|
お使いのネットワークで、以下の NuGet パッケージ フィードへのアクセスが許可されていることを確認してください。
- 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
pipeline {
agent any
environment {
MAJOR = '1'
MINOR = '0'
}
stages {
stage ('PostBuild') {
steps {
UiPathDeploy (
packagePath: "path\)\)\) o\)\)NuGetpackage",
orchestratorAddress: "OrchestratorUrl",
orchestratorTenant: "tenant name",
folderName: "folder name",
environments: "environment",
credentials: [$class: 'UserPassAuthenticationEntry', credentialsId: “credentialsId”],
traceLoggingLevel: 'None'
)
}
}
}
}
pipeline {
agent any
environment {
MAJOR = '1'
MINOR = '0'
}
stages {
stage ('PostBuild') {
steps {
UiPathDeploy (
packagePath: "path\)\)\) o\)\)NuGetpackage",
orchestratorAddress: "OrchestratorUrl",
orchestratorTenant: "tenant name",
folderName: "folder name",
environments: "environment",
credentials: [$class: 'UserPassAuthenticationEntry', credentialsId: “credentialsId”],
traceLoggingLevel: 'None'
)
}
}
}
}
アプリケーション: テスト
種類: Post build task
[UiPath のテストを実行] は、標準ジョブとパイプラインで利用でき、以下を実行できます。
- Orchestrator 内の既存のテスト セットを実行する
- UiPath テスト プロジェクトへのパスを指定して、テスト ケースをパッケージ化、デプロイ、実行する
テスト実行が完了すると、Jenkins ビルドに [テスト結果] タブが公開され、詳細な結果が表示されます。さらに、指定したテスト結果の出力パスに JUnit テスト結果ファイルが作成されます。指定しない場合は、ワークスペースのルートに作成されます。
結果に応じて、ビルドは成功 (すべてのテスト ケースが合格) または不安定 (少なくとも 1 つのテスト ケースが不合格) とマークされます。
ジョブのパラメーター |
説明 |
---|---|
ターゲット |
|
テスト結果の出力パス |
実行されたテスト セットは、テスト結果を
junit.xml として返します。結果を保存するパスを、Jenkins ワークスペースのディレクトリに対する相対パスで指定します (例: result.xml )。
|
入力パラメーター |
テスト ケースのカスタム引数を定義して、テスト セット レベルで既定値を上書きします。この引数を使用して、実行時にテスト ケースにパラメーターを設定できます。引数を定義するには、引数を含むパッケージをパブリッシュしておく必要があります。 |
Orchestrator のアドレス |
パッケージをデプロイする Orchestrator インスタンスのアドレスです。 |
Orchestrator テナント |
パッケージをデプロイする Orchestrator テナントです。 |
Orchestrator のフォルダー |
デプロイ先のフォルダーです。 フォルダーがクラシック フォルダーの場合、[ロボット グループ] フィールドも設定する必要があります。 モダン フォルダーの場合は、[ロボット グループ] の設定は不要です。 サブフォルダーを入力するには、親フォルダーの名前とサブフォルダーの名前の両方を入力してください。例:
AccountingTeam\TeamJohn
|
ロボット グループ (クラシック フォルダーの場合は必須) |
パッケージをプロセスとしてデプロイするロボット グループです。既存のプロセスがあるプロジェクトとロボット グループでは、プロセスが更新され、最新のプロジェクト バージョンが使用されます。パッケージをプロセスとしてデプロイするロボット グループを指定します。既存のプロセスがあるプロジェクトとロボット グループでは、プロセスが更新され、最新のプロジェクト バージョンが使用されます。 |
認証 |
Orchestrator に対する認証を行うには、Jenkins で事前に資格情報を作成する必要があります。認証には、次の 4 つの方法があります。 (1) ユーザー名とパスワードを使用してオンプレミスの Orchestrator に認証する (2) 更新トークン (API キー) を使用してクラウドの Orchestrator に認証する (3) 外部アプリの認証を使用してクラウドの Orchestrator に認証する (4) 外部アプリの認証を使用して、オンプレミスの Orchestrator に認証する |
タイムアウト (秒) |
テスト実行の実行タイムアウトです。既定値は 7200 秒です。Orchestrator での実行が完了する前にタイムアウト値を超え、結果が返された場合、ビルドはキャンセルされ、失敗としてマークされます。 |
ログのトレース レベル |
トレース ログを以下のいずれかのレベルで有効化するために使用する設定です。
|
pipeline {
agent any
environment {
MAJOR = '1'
MINOR = '0'
}
stages {
stage ('PostBuild') {
steps {
UiPathTest (
testTarget: [$class: 'TestSetEntry', testSet: "My Test Set"],
orchestratorAddress: "OrchestratorUrl",
orchestratorTenant: "tenant name",
folderName: "folder name",
timeout: "10000",
traceLoggingLevel: 'None',
testResultsOutputPath: "result.xml",
credentials: [$class: 'UserPassAuthenticationEntry', credentialsId: "credentialsId"]
)
}
}
}
}
pipeline {
agent any
environment {
MAJOR = '1'
MINOR = '0'
}
stages {
stage ('PostBuild') {
steps {
UiPathTest (
testTarget: [$class: 'TestSetEntry', testSet: "My Test Set"],
orchestratorAddress: "OrchestratorUrl",
orchestratorTenant: "tenant name",
folderName: "folder name",
timeout: "10000",
traceLoggingLevel: 'None',
testResultsOutputPath: "result.xml",
credentials: [$class: 'UserPassAuthenticationEntry', credentialsId: "credentialsId"]
)
}
}
}
}