はじめに
この投稿は、UiPath Academyの「UiPath Integration Service」コースの内容を、日本語で説明したものです。英語が苦手なので「翻訳したもの」、というよりは、私が理解し、自分の言葉で説明したものとなります。サンプル等はより簡潔なものとしています。
前提条件
以下のコースが修了している程度のStudioの知識が必要です。
- 「Studioでの変数、引数、制御フロー」コース
- 「StudioによるUI操作の自動化」コース
実際は、OrchestratorでUnattended実行の設定ができる程度の知識も必要かなと思います。
必要なもの
- AutomationCloudアカウント
- StudioおよびRobotバージョン2021.10以降(最新バージョンを推奨)
Community版でOKです。
UiPath Integration Serviceの概要
複数のサービスにまたがる複雑なワークフローを簡単に統合するサービス(Integration Service)で、大きく以下の3つの機能を有します。
- サービスへ安全に接続できる仕組み(コネクタ)
- GoogleドライブやSalesforceなどのサービスへの認証の標準化(コネクション)
- 接続されたサービスのイベントに基づく自動化の開始(トリガー)
コネクタ
現在、以下のコネクタが提供されており、どんどん追加されていくことと思われます(2022/06/30時点)。
コネクション
コネクタを介して行われる、単一のユーザーと単一の外部アプリケーション間のリンクです。
以下は、UserA,BのGoogleDriveへのコネクションとUserBのTwitterへのコネクションを作成した状態です。
トリガー
トリガーは、コネクタから特定のイベントを監視できるようにする仕組みです。
以下は、下記の監視&実行を行うトリガーを作成した状態です。
- UserAのGoogleDriveへファイルが追加されるのを監視する
- ファイルが追加されたら、IntegrationService確認プロセスを実行する
実践
実際に簡単な自動化プロセスを作成していきます。
UserAのGoogleDriveにファイルが追加されたら、UserBのTwitterにそのファイル名をTweetするというプロセスで実装します。
Integration Serviceの起動
Integration Serviceは、Automation Cloud上にあります。赤枠の「Integration Service」をクリックすることで起動します。
(Integration Serviceが表示されていない場合は、青枠の「管理」からIntegration Serviceをプロビジョニングしてください。)
コネクションの作成
Googleドライブのコネクションの作成
コネクタ一覧の中から、Googleドライブをクリックします。
コネクションを追加をクリックします。
Googleドライブに接続するアカウントを選択します。
「Googleドライブのすべてのファイルの表示、編集、作成、削除です。」をチェックし、続行をクリックします。
コネクションが作成されました。せっかくなので、コネクション名を変更しておきます。
(作成された直後はアカウントが丸見えなのでというのもあり…)
コネクション名の変更は、名前の横の鉛筆アイコンをクリックし、名前を入力した後、EnterでOKです。
Twitterのコネクションの作成
TwitterのコネクションもGoogleドライブとほぼ同様の手順で作成できます。
こちらもコネクション名を変更してあります。
プロセスの作成
パッケージのインストール
GoogleドライブとTwitterのIntegration Service用のパッケージをインストールします。
- Google Workspace
- UiPath.Twitter.IntegrationService.Activities
GoogleドライブとOutlook365以外のIntegrationServiceのパッケージは
UiPath.コネクション名.IntegrationService.Activities
という名前になっているようです。
引数の定義
トリガーした対象(今回の場合UserAのGoogleドライブへのファイル追加)をプロセスに伝えるための仕組みが用意されています。以下の4つの引数がそれにあたります。それぞれ、String型の入力引数として定義しておきます。
- UiPathEventConnector
- UiPathEvent
- UiPathEventObjectType
- UiPathEventObjectId
実際に実行した際の引数の値は以下のようになります。 - UiPathEventConnector =[uipath-google-drive]
- UiPathEvent =[CREATED]
- UiPathEventObjectType =[File]
- UiPathEventObjectId =[10xEdxGq398IUeNiDjmToQSwD0MUTZKvq]
Googleドライブからファイル名を取得
Googleドライブからのファイル名取得は、下図のような簡単なフローで行うことができます。
- Googleドライブの処理を作成するには、まず「Googleドライブを使用」を使用します。
- プロパティの「Integration Serviceを使用」をONにします。
アカウント欄にはIntegration Serviceで設定したコネクションが選択できるようになります。今回の場合は、「UserA GDrive」を選択しています。
3.「ファイル情報を取得」でファイル情報を取得します。その際のファイルIDは引数の「UiPathEventObjectId」となります。
Twitterへツイート
Twitterへツイートするのも、下図のような簡単なフローで行うことができます。
ちなみに、Configureをクリックすると、Integration Serviceで設定したコネクションを指定できる画面が表示されます。
パブリッシュ
プロセスをパブリッシュし、unattended実行できる状態にします(ここは割愛します)。
トリガーの設定
トリガーを設定するルートは2種類用意されています。
1つ目は、トリガータブを表示し、「トリガーを追加」をクリックする方法です。
2つ目は、コネクションタブより三点リーダー内のトリガーを管理をクリックした後、「トリガーを追加」をクリックする方法です。
どちらの手順でも、下図の画面にたどり着きます。
ただし、2つ目の方法の場合、「コネクタを選択」、「コネクション」が選択された状態で開きます(違いはそれだけ)。
イベント、記録
イベントは以下の種類から選択できます(コネクタによって違います)。
- 新しいレコードの作成時 ・・・ファイルが新しくできた場合
- 既存のレコードの更新時 ・・・ファイルが更新された場合
- 既存のレコードの削除時 ・・・ファイルが削除された場合
記録は以下の種類から選択できます(コネクタによって違います)。
- File ・・・ファイルに対するイベント
- Folder ・・・フォルダに対するイベント
今回はファイルが追加された時にトリガーするので、「新しいレコードの作成時」、「File」を設定しています。
実行するプロセス
実行するプロセスには、実際にトリガーで実行するプロセスを設定します。
今回は先ほどパブリッシュした「GoogleドライブTwitter連携」を設定しています。
また、入力引数には、プロセスの引数で設定した値が自動的に表示されます。
動作確認
Googleドライブに「テスト用ファイル.txt」というファイルを格納します。
しばらく待っているとジョブが実行されます。ファイルを格納してすぐに実行しないのは、トリガーの監視が5分間隔で行われているためです。そのため、最大5分待たされる可能性があります。
Twitterにもツイートされました。
まとめ
UiPath Academyの「UiPath Integration Service」コースの内容を日本語で簡単にまとめてみました。
作成したプロセスを見ても分かる通り、Integration Serviceは、様々なサービスの処理やサービスの連携を非常に簡単に自動化できる可能性があります。今後も色々と紹介していこうと思います。