【UiPath】ソリューション管理をつかってみた

# はじめに

- 本記事では、「ソリューション管理」機能を紹介します。
- 記事の内容は、個人の見解または確認結果であり、UiPath の公式見解ではありません。
- 製品仕様や参考画像は 2024年4月22日時点のもので構成しています。

# ソリューション管理とは

https://docs.uipath.com/ja/solutions-management/automation-cloud/latest/user-guide/solutions-management-overview

ソリューションは、UiPath Platform 上で開発された***複数の コンポーネント (プロセス、アセット、キューなど) をバンドルしたもの***であり、これらが連携してビジネス ユース ケースを自動化します。UiPath のコンテキストでは、ソリューションとは、Studio のワークフロー/プロセスのような単純なものから、複数のワークフローまたはプロセス、アプリ、アセット、キュー、ストレージ バケット、Data Service のエンティティ、ML スキルなどを組み合わせた複雑なものまであります。

ソリューションの作成・管理は ***Automation Ops*** のサービス画面からおこないます。

![ソリューション管理.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3301444/e5def9f9-27b5-eb26-f5f9-710510ffcc35.jpeg)

## プロジェクト

「プロジェクト」タブの「新しいプロジェクト」ボタンを押下すると、ソリューションビルダーという画面が表示されます。（「テストソリューション」という名前のプロジェクトを作成しました）

![ソリューション管理2.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3301444/f631e1be-1deb-13a3-7fc9-9bf56623b6ba.jpeg)

画面中央の「＋」ボタンを押下すると、コンポーネントの検索ダイアログ（画面左側にフォルダ、右側にコンポーネント（各種エンティティのリソース））が表示されます。

![ソリューション管理3.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3301444/8e79834d-aba5-27ed-0308-a4de8e0dcd40.jpeg)

***フォルダを跨いで、任意のコンポーネントを選択できます。***

![ソリューション管理4.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3301444/161768fe-9e03-3dc6-ad9a-6b4887da5406.jpeg)

「追加」ボタンを押下すると、選択済みのコンポーネントとその中身を確認できる様になります。
コンポーネントの追加や削除は画面左下の「コンポーネントを追加／削除」ボタンからいつでも可能です。

![ソリューション管理5.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3301444/96a2e6e3-646d-fcb1-32c4-395c9753a6e6.jpeg)

コンポーネントの選択が完了したら「パブリッシュ」ボタンを押下します。

![ソリューション管理6.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3301444/ad90ace4-b84f-c6c8-1c0b-033812dd4168.jpeg)

パブリッシュしたソリューションパッケージは「パッケージ」タブで確認できます。

![ソリューション管理7.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3301444/a8588d74-1eca-d6a9-ab39-ab29c761aab5.jpeg)

## パッケージ

「パッケージ」と聞くと、UiPath ユーザーは瞬時に nupkg をイメージするとおもいますが、こちらは ***『ソリューションパッケージ』を管理する画面*** です。

![ソリューション管理8.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3301444/08aa42df-84d6-7373-82b3-14df4fd765ca.jpeg)

同画面でソリューションパッケージに対して実行できるアクション
- アップロード
- ダウンロード
- デプロイ
- バージョン履歴の表示
- デプロイ履歴の表示

::: note
テナントを跨いでコンポーネントを移送したい場合、
1. ***移送元***でソリューションを作成し、ソリューションパッケージをダウンロード（ソリューション名.zip がダウンロードされます。）
1. 「テナントの選択」よりテナントを***移送先***に切り替える
1. ***移送先***のパッケージタブにて、ソリューションパッケージをアップロード
します。
:::

## デプロイ

パッケージタブにて、対象のソリューションパッケージを選択 ＞ 三点リーダー ＞ 「パッケージをデプロイ」を押下します。

表示されたダイアログに次の情報を指定し「続行」ボタンを押下します。
- デプロイの名前：ジョブ名と同じ様なものです。任意の名称でOK
- ターゲットフォルダ：移送先のテナントに存在するフォルダから選択できます。***未指定の場合、「テナント下の新しいルートフォルダーとしてインストール」にチェックを入れ、新規のルートフォルダを第一階層につくります。***
- ルートフォルダ名：移送先に新規作成するルートフォルダの名称です。任意の名称でOK

![ソリューション管理13.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3301444/b3041de3-f200-b52c-3c22-b538c4393d64.jpeg)

デプロイ予定のコンポーネントが表示されるので、内容を確認した上で「デプロイ」ボタンを押下します。
なお、「検証」ボタンを押下することで、実行前にエラーの有無を確認できます。

![ソリューション管理14.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3301444/0f13d226-826d-ae21-0620-01c3e24278fe.jpeg)

デプロイの状況はデプロイタブで確認できます。
（ソリューションパッケージ ＞ 三点リーダー ＞ 「デプロイを表示」で表示されるものと同じです。）

![ソリューション管理15.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3301444/59ed1725-b5a3-5172-328a-8f5d4f8cd5b7.jpeg)

今回テスト用に「Shared」「test」の2フォルダのコンポーネントを選択していました。
デプロイ後のOC画面にて、ルートフォルダ（hogehoge）以下に対象の2フォルダとエンティティを確認できます。

![ソリューション管理16.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3301444/3c937586-fd73-1849-5c3f-b2a99a6d9629.jpeg)

## 補足

::: note
 ソリューションパッケージに「プロセス」のコンポーネントを1つ追加し、再度デプロイを実施します。

 ![ソリューション管理17.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3301444/fbc34714-54d3-b593-69c1-5be9bfe0d001.jpeg)

- ***同名のルートフォルダが存在する場合、附番されたものが新規作成されます。***
- 上記を回避したい場合、テナント管理者が対象フォルダを事前に削除するなどの対応が必要です。

![ソリューション管理19.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3301444/55bb532e-41e5-87c9-2995-bc23487dbbfb.jpeg)

***デプロイ時に「テナント下の新しいルートフォルダーとしてインストール」のチェックをONにした場合、パッケージはテナントパッケージではなく、フォルダパッケージとして移送されます。***

![ソリューション管理20.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3301444/71cf04bf-862e-43a5-c562-97831c6d009a.jpeg)
![ソリューション管理21.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3301444/9f14afe5-2c70-6726-3715-3ddaa750ea98.jpeg)
:::

# さいごに

いかがでしたでしょうか。
従来は、Orchestrator Manager か手動で対応するしかなかったエンティティの移行作業が格段におこないやすくなる印象です。
メインのユースケースは***開発環境でテストOKとなったものの本番適用***かなと想像しますが、
***テナント間のエンティティ移送に限らず、組織改編にも柔軟に利用できそう***におもいました。
たとえば、新組織XYZが起ち上がる場合、次の様に指定すればOKですよね✨
ターゲットフォルダ：現行のルートフォルダ
ルートフォルダ名：新組織XYZ
最後までお読みいただきありがとうございます(・ω・)ノ