- 概要
- UiPath CLI
- Azure DevOps 拡張機能
- Jenkins プラグイン

CI/CD 連携ユーザー ガイド
認証とスコープ
すべてのソリューション コマンドでは、Orchestrator で設定した 外部アプリケーション を通じた認証が必要です。スタンドアロン プロジェクト タスクとは異なり、ソリューションではマシン認証や対話型の認証方法はサポートされていません。
認証要件
ソリューション コマンドは、 外部アプリで OAuth2 を介して排他的に認証します。
ソリューションの CLI コマンドを実行する前に、[Orchestrator の管理] で外部アプリケーションを適切なスコープで設定する必要があります。
必要な OAuth スコープ
ソリューションでは、標準の Orchestrator のスコープとは異なる、専用のアプリケーション スコープのセットを使用します。すべてのソリューション操作に対して、以下のスコープを持つ外部アプリを設定します。
CI/CD シークレットのコピーと貼り付けの形式:
AutomationSolutions Solutions.Deployments Solutions.Deployments.Read Solutions.Deployments.Write Solutions.Packages Solutions.Packages.Read Solutions.Packages.Write
AutomationSolutions Solutions.Deployments Solutions.Deployments.Read Solutions.Deployments.Write Solutions.Packages Solutions.Packages.Read Solutions.Packages.Write
この 1 行のスペース区切りの形式は、次の場合に直接使用できます。
- Azure DevOps 変数グループ
- GitHub リポジトリのシークレット
- Jenkins 資格情報ストア
注: 以下の操作はローカルで実行されるため、認証は必要ありません。
restore- 依存関係をローカルに復元しますanalyze- プロジェクトをローカルで検証しますpack- パッケージをローカルに作成します
一般的な認証パラメーター
Orchestrator を操作するすべてのソリューション コマンドには、これらのパラメーターが必要です。それぞれに短縮形式または長形式 (代替) のいずれかを使用できます。
| 短い形式 | 長文 (代替) | 説明 | 例 |
|---|---|---|---|
-U | N/A | Orchestrator URL | 以下の Orchestrator URL を参照してください |
-T | N/A | Orchestrator のテナント名 | DefaultTenant |
-A | --accountForApp | 組織 (アカウント) 名 | myorg |
-I | --applicationId | 外部アプリ ID | 12345678-xxxx-xxxx-xxxx-xxxxxxxxxxxx |
-S | --applicationSecret | 外部アプリケーション シークレット | **** (安全を確保) |
--applicationScope | N/A | スコープ リスト (上記を参照) | 上記 |
--traceLevel | N/A | ログ レベル | InformationVerbose、Warning |
長い形式のパラメーターを使用した例:
uipcli solution upload-package ./packages/MySolution.1.0.0.zip \
-U https://cloud.uipath.com/ \
-T DefaultTenant \
--accountForApp myorg \
--applicationId 12345678-xxxx-xxxx-xxxx-xxxxxxxxxxxx \
--applicationSecret **** \
--applicationScope "AutomationSolutions Solutions.Packages Solutions.Packages.Write"
uipcli solution upload-package ./packages/MySolution.1.0.0.zip \
-U https://cloud.uipath.com/ \
-T DefaultTenant \
--accountForApp myorg \
--applicationId 12345678-xxxx-xxxx-xxxx-xxxxxxxxxxxx \
--applicationSecret **** \
--applicationScope "AutomationSolutions Solutions.Packages Solutions.Packages.Write"
Orchestrator URL
Orchestrator インスタンスにのみベース URL を使用します。組織、テナント、またはパスのセグメントを含めないでください (たとえば、 https://cloud.uipath.com/myorg/DefaultTenant/orchestrator_は使用しないでください)。組織とテナントは、 -A と -Tで別々に渡されます。
- UiPath Automation Cloud: クラウドのベース URL (
https://cloud.uipath.com/やhttps://staging.uipath.com/など) を使用します。 - Automation Suite (オンプレミスまたはプライベート クラウド): Automation Suite インスタンスのベース URL (例:
https://uipath.yourcompany.com/) を使用します。URL は、パッケージ コマンドの場合と同じです。Orchestrator (または Automation Suite) のベース アドレスのみがパブリック クラウドと異なります。
--applicationScope パラメーターを指定せずに外部アプリケーション認証を使用すると、CLI はソリューション コマンドに必要なスコープを自動的に適用します。
外部アプリケーションを設定する
ソリューションの外部アプリケーションを作成するには、以下の手順を実行します。
- Orchestrator に管理者としてログインします。
- [管理] → [外部アプリケーション] に移動します。
- [ アプリケーションを追加] をクリックします。
- 名前を入力します (例:
CI-CD-Solutions)。 - アプリケーションの種類として [ 機密アプリケーション ] を選択します。
- 上記の必要なスコープを追加します。
- アプリケーション ID とシークレットをコピーし、CI/CD シークレット マネージャーに安全に保存します。
外部アプリケーションの構成手順について詳しくは、「 外部の OAuth アプリケーションを管理する」をご覧ください。
カスタム Orchestrator フィードを使用する
復元操作中に Orchestrator のカスタム アクティビティ フィードを使用する場合は、次の代替パラメーターを使用します。
| 標準パラメータ | カスタム フィード パラメーター |
|---|---|
--applicationScope | --libraryOrchestratorApplicationScope |
-T (テナント) | --libraryOrchestratorTenant |
-U (URL) | --libraryOrchestratorUrl |
| (フォルダー) | --libraryOrchestratorFolder |
例:
uipcli solution restore <solution-path> \
-A myorg \
-I 12345678-xxxx-xxxx-xxxx-xxxxxxxxxxxx \
-S **** \
--libraryOrchestratorApplicationScope "OR.Folders OR.Settings.Read" \
--libraryOrchestratorTenant DefaultTenant \
--libraryOrchestratorUrl https://cloud.uipath.com/ \
--libraryOrchestratorFolder MyFolder
uipcli solution restore <solution-path> \
-A myorg \
-I 12345678-xxxx-xxxx-xxxx-xxxxxxxxxxxx \
-S **** \
--libraryOrchestratorApplicationScope "OR.Folders OR.Settings.Read" \
--libraryOrchestratorTenant DefaultTenant \
--libraryOrchestratorUrl https://cloud.uipath.com/ \
--libraryOrchestratorFolder MyFolder
セキュリティのベスト プラクティス
- パイプライン、YAML、またはスクリプトにシークレットをハードコーディングしないでください。
- CI/CD プラットフォームのシークレット管理を使用する:
- Azure DevOps: シークレット変数を持つ変数グループ。
- GitHub Actions: リポジトリまたはOrganizationのシークレット。
- Jenkins: 資格情報ストア。
- 外部アプリのシークレットを定期的にローテーションします。
- 環境 (開発、テスト、運用) ごとに個別の外部アプリを使用します。
- 最小限の特権スコープを適用する - 各パイプラインに必要な権限のみを付与します。