UiPathとChatworkの連携について解説します。「TryCatch」を用いることで便利で実用的なエラー通知処理を組み込むことが可能になります。
この通知処理は処理に関する通知だけでなく、ワークフロー開発段階でのエラー通知にも非常に役に立ちます。
ChatworkAPI×UiPathのTryCatchについて
まずは、今回注目する通知処理の特徴について説明します。
この通知処理を実現するために必要になるのが「ChatworkAPI」と「TryCatch」というものです。
ChatworkAPIとは
APIとはアプリやシステムの機能の一部を共有することを指し、それによって外部から機能を呼び出すことができます。
今回はChatwork(Slackのようなビジネスチャット)のメッセージ送信機能をAPIによって使用します。
詳しい使い方は別記事で紹介しております。ぜひご覧ください。
RPAはUI操作(クリックやスクロール、入力等)の自動化が可能なことから、直接データのやり取りができなくともExcelなどのファイル間はもちろん、システム間、アプリ間の連携を可能にします。しかし、UI操作の自動化は正確性や処理速[…]
UiPathのTryCatchとは
「Trycatch」とは、UiPathのアクティビティの一つでエラー発生時(発生する可能性がある時)の処理に用います。
エラー内容を取得したり、処理の中断を阻止することができます。
こちらも記事にしておりますので、必要に応じてご覧ください。
RPAに限らず、システム開発においてエラーハンドリングはとても重要です。 UiPathにはこのエラーハンドリングにうってつけのアクティビティが存在します。それが「TryCatch」アクティビティです。 UiPathでのロボット作[…]
ChatworkAPIとUiPath TryCatchによる通知処理の特徴
上記記事をご覧になられた前提でまとめさせていただきます。
この二つの機能を組み合わせることで、次のような通知処理が作成可能です。
・チャットに通知が届くため、ロボから目を離していても確認可能
・グループチャットに送信することで共有可能
・エラー内容が確認できるため開発段階から導入後まで便利
・ロボの処理を中断させない
・ループ内でエラーが起きても最後まで処理を続ける(条件により止めることも可能)
凡例
凡例としてのループ処理を行うロボットを作成しました。
ロボ説明
作成したロボットは「Excelファイル内の生年月日情報から年齢を計算し出力する」というものです。
処理フローおよびExcelファイルは以下になります。
↓処理フロー
Excelを読み込んだ後、各行に対してループ処理を行います。このループ処理内でエラーが考えられる場合、ループ内の最上位にTryCatchを配置することで、すべてのエラーをキャッチできます。
↓Excelデータ
このExcelデータに対して処理を行います。
この生年月日と現在の日付の差分から年齢を計算します。
水色の部分はエラーが起きるよう設定しています。
セルの値を日付型で取得するため、存在しない日付や日付型書式でない場合にエラーとなります。
ワークフロー説明~実行結果
これがワークフロー内容になります。
Excel取得部分とデータ処理のループ部分から成ります。
ループ中のエラーによって処理が中断されないように、ループ内の処理を丸々TryCatchに入れてやります。
この時、Ctrl+TのショートカットキーでTryCatchアクティビティを生成することができます。
Try内には年齢計算処理とチャットワークへの出力処理が含まれます。
通知部分はHTTPリクエストアクティビティによりチャットワークへのメッセージ送信を行っています。
詳しい設定値は別記事を参考にしてください。
送信メッセージ内容はこのようになっています。(歳の字が間違っていることは多めに見てください)
Catch部ではエラーが起きた旨をチャットワークに送信するようにしています。
エラー通知文はこのようになります。
Catch部ではエラー内容が格納された変数(ここではexception)を使用してエラー内容を出力できます。
実行します。左はチャットワークのマイチャット画面です。
チャットワークに各行の処理通知が届きます。
エラーも起きていますが、処理は中断されずすべてのデータの処理を行っています。
動作速度はとても速いです。動画をみていただければ確認できるかと思います。
年齢計算の結果が正しく出力されています。
エラー結果も出力されていますね。このエラーを確認したうえで改修することになるでしょう。
エラー個所を特定する場合は、TryCatchの中のアクティビティそれぞれに対してTryCatchを配置するのがよいでしょう。キャッチしたエラーは上部のTryCatchへスローすることもできます。
終わりに
UiPathの記事は下記にもございます。あわせてご覧ください。