みなさま、ごきげんよう。永瀬です。
今回は、2021年02月19日に開催した AA de Knight #7 でお話しした、A2019 のトリガー機能の変更点の整理です。A2019 はバージョンアップによって機能が増えてきていますが、既存の機能もバージョンアップによってサポート対象や動作に変更が発生しているものがあります。その中で、今回はトリガー機能について整理していきます。
AA de Knight #7 ではリリースのタイミング的に A2019.18 での検証結果に基づいてお話ししましたが、現行の最新バージョンとなる A2019.19 での情報に更新しています。
□目次
1.トリガー機能の概要
2.A2019.17 で Unattended のトリガーがサポート対象外
3.動作の変更点
4.トリガー実行の TIPS
それでは、さっそく見ていきましょう。
1.トリガー機能の概要
まずはトリガー機能について簡単におさらいしておきます。トリガーは Bot Runner デバイス上で発生する特定のイベントを契機として Bot を起動するための機能です。Bot Runner デバイスは、Bot を実行する Windows 端末です。
トリガーには、「Eメール トリガー」、「Files & folders」、「Hot Key」、「Interface trigger」のイベントを指定できます。例えば、「Files & folders」の「Folder trigger」を使用して、「特定のフォルダー内にファイルが作成されたら」というイベントを契機にして Bot を実行させることができます。トリガーには Bot 編集画面の左下から[トリガー]メニューを展開するとアクセスできます。[アクション]のコマンドと同じように、Bot 編集画面の一番上の「トリガー」部分にドラッグ&ドロップして、Bot にイベントを追加します。
Bot にトリガーを追加したら、Runner ユーザーで実行させるためにチェックインして[公開]タブに Bot を移動します。Bot を公開したら、[イベント トリガー]ページで、トリガーが設定されている Bot とそれを実行する Runner ユーザー(またはロール)を紐づけて登録します。
Runner ユーザーを紐づけている Windows アカウントで Bot Runner デバイスにログインし、ブラウザーから Control Room (CR) にログインすると、トリガーリスナーが有効になります。この状態でトリガーに指定しているイベントが発生すると、Bot が起動します。
ロールによって適切な権限を付与することで、開発中の Creator ユーザーでもトリガーを設定してテストすることができます。
詳細については、Automation Anywhere 社のドキュメントを参照してください。
2.A2019.17 で Unattended のトリガーがサポート対象外
A2019.17 のリリースノートで、Unattended Bot Runner (UBR) でのトリガーがサポート対象外になることが告知されました。トリガーの機能はもともと Attended Bot Runner (ABR) を対象にした機能であり、今後は UBR でのトリガー実行はサポートされなくなります。
詳細は以下のリリースノートを参照してください。
Enterprise A2019.17 Release Notes
UBR がサポート対象外になったことに伴い、従来のトリガーの動作から変更が発生しています。まずは、従来のトリガーの動作について図示します。
A2019 では Control Room (CR) に Automation Anywhere のユーザーが登録され、そのユーザーに Bot 実行時の Windows セッションに使用する Windows アカウントの認証情報(ドメイン名\ユーザー名とパスワード)が紐づけられます。また、そのユーザーには、Bot Runner デバイスとして登録された、Bot 実行時に使用する Windows 端末のデバイス登録情報がぶら下がります。
トリガーが動作するためには、ユーザーに紐づいた Windows アカウントで、同じユーザーに紐づいた Bot Runner デバイスにログインしていることが必要になります。
ここで、A2019.16 までは、別の端末からでも CR にそのユーザーでログインすれば、Bot Runner デバイス上でトリガーリスナーが起動し、トリガーによって Bot が起動する状態になりました。
A2019.17 以降では、ユーザーに紐づいた Windows アカウントで、同じユーザーに紐づいた Bot Runner デバイスにログインした Windows セッション内から、CR にログインすることが必要になりました。ABR として使う場合は、これまで通りの普通の状況になります。別の端末から CR にログインしても、トリガーリスナーは有効になりません。
起動したトリガーリスナーは、Windows セッションがアクティブな間は有効で、Windows セッションからログオフすると停止します。CR にログインしてトリガーリスナーが起動したら、ブラウザーは CR からログオフして閉じてしまっても構いません。
3.動作の変更点
動作の変更点のまとめです。ABR として使用する状況でのみ動作するようになりました。トリガーは ABR の機能であるため、ユーザーがログインしているアクティブな Windows セッションが存在していることが前提になります。
以下の流れで、トリガーを有効にすることができます。
- Creator ユーザーで Bot に「トリガー」イベントを追加します。
- Bot をチェックインして、[公開]します。
- [イベント トリガー]ページで、Bot と Runner ユーザー(またはロール)を紐づけて登録します。
- Runner ユーザーに紐づけた Windows ユーザーで Bot Runner デバイスにログインします。
- その Windows セッション内から、Runner ユーザーとして CR にログインします。
この状態から、指定したトリガーのイベントが発生すると、Bot が起動して処理を実行します。
4.トリガー実行の TIPS
トリガーが動作するためには、前述のアクティブな Windows セッションが存在する状況を作ることが前提となりますが、それでも想定通りにトリガーが動作しないこともあります。トリガー実行の TIPS として、3点ほどご紹介します。
一つ目は、Bot をコピーして再利用している場合に発生する問題です。コピー元の Bot にトリガーが含まれている場合、コピー元の Bot のトリガーとコピー先の Bot のトリガーを両方とも[アクティビティ]-[イベント トリガー]に登録すると、トリガーリスナーが起動しなくなります。トリガーリスナーが起動すると、CR にログインした際、上図の「トリガーの構成 正常に開始されました」のメッセージがブラウザーの画面内に表示されますが、この問題が発生すると、このメッセージが表示されなくなります。
この問題は、コピー先の Bot で、トリガー部分だけを作成しなおす(トリガー部分だけを削除して、再度設定する)ことで回避できます。将来のバージョンで修正される予定で、現在のところ、A2019.21 で対応予定とのことです。
二つ目は、切断セッションでの動作に注意です。トリガーは ABR の機能となるため、ユーザーが Windows にログインして操作している状況、つまり、アクティブな Windows セッションが存在している状況が前提となります。このアクティブな Windows セッションは、RDP 接続のセッションでも構いません。ただし、RDP 接続している場合の切断セッションでの ABR の動作は、現状では考慮されていないように見えます(やらかしているだけのようにも思えるので、今後のバージョンアップでしれっと動作が変わる可能性があります)。UBR ではサポート対象外ですが、A2019.19 での修正で切断セッションでも正常に動作するようになりました。
三つ目は、あまり重要ではないですが知っていると便利ということで、トリガーイベントが発生した回数だけ Bot が起動する点です。当たり前だと思われることですが、特定のフォルダーにファイルが置かれたことをトリガーにしていて、Bot 側で対象フォルダー内のファイルを総ざらいして処理するようにしている場合、Bot 起動後すぐに置かれた2個目のファイルも処理してしまうと、2個目のファイルが置かれたことをトリガーにして起動した Bot が空振りしてしまうことになります。このような場合は、Bot 側で一回の起動では1個のファイルだけを処理するようにしてください(空振りしてもエラーにせず、無視するようにしてもよいかと思います)。
繰り返しになりますが、UBR でのトリガーはサポート対象外となっています。トリガーが期待通りの動作をしない場合、かならずサポート対象である ABR での再現性をご確認ください。当たり前のことですが、サポート対象外の使い方はサポートされません。
いろいろ切り分けたけど、やはりトリガーがうまく動作しないという場合には、トリガーリスナーのログを確認してください。手掛かりになるログが記録されていることもありますし、そもそも問題の時間帯にログが記録されていないのであれば、トリガーリスナーが有効になっていないということになります。
また、トリガーリスナーは Windows セッションをログオフするとリセットされるので、Windows セッションから一度ログオフして、あらたにログオンしなおすことで、仕切りなおすことができます。
トリガーリスナーのログの場所:
C:\ProgramData\AutomationAnywhere\BotRunner\Logs\
TriggerListener.log
今回はここまで。トリガーは皆さん使われていると思いますが、トリガーがうまく動かない時に今回の内容が状況整理の足しになれば幸いです。
また次回まで、みなさまごきげんよう。
著者紹介
先端技術推進統括部
DXコンサルティング部
永瀬 晋作
みなさま、ごきげんよう。