ACL Analytics とロボット

ロボットは、ACL Analytics で構築されたスクリプトを使用して、定期タスクの自動化に使用する ACL GRC モジュールです。 スクリプトを作成したら、これをロボットにアップロードし、必要なタスクの自動化を構成できます。 ロボットは、構成に応じて定期のタスクを処理します。

ロボット モジュールの詳細については、ロボットのヘルプ文書を参照してください。

ロボットで自動化する方法

ロボットを使って定期タスクを自動化するには、まず、1 つ以上のアナリティクス スクリプトを含む ACL でプロジェクトを作成する必要があります。 アナリティクス スクリプトは、スクリプトを実行するための特定のプロパティと指示を表す、アナリティクス ヘッダーを使用する ACL スクリプトです。

アナリティクス スクリプトとアナリティクス ヘッダーの詳細については、アナリティクス スクリプトを参照してください。

スクリプトのコミットとロボットの作成

アナリティクス スクリプトを作成した後、ロボットにアップロードします。 スクリプトを ACL からロボットにアップロードするアクションは、スクリプトのコミットと呼ばれます。 初めてスクリプトをコミットすると、ロボットがロボット モジュールで作成されます。 ロボットは、コミットされたアナリティクス スクリプト、ヘルパー スクリプト、関連するファイルを格納するコンテナーです。 ロボットは、スケジュールされた、自動化されたタスクを実行するように構成するオブジェクトです。

開発モードと本番

スクリプトは、ロボットでのみ開発モードにコミットされ、本番にコミットされることはありません。 この設計により、開発モードとは完全に別となる、本番スクリプトと本番データを保護します。

スクリプトの最終バージョンを開発モードにコミットしたら、そのバージョンを明示的に本番で有効化する必要があります。

代替アプローチ

ロボットでは、空のロボットを作成してから、ACL のスクリプトを空のロボットにコミットすることができます。 手動でロボットでロボットを作成するか、初めてスクリプトをコミットするときに自動的にロボットを作成するかどうかに関係なく、結果は同じです。

反復ワークフロー

1 つ以上のスクリプトを編集し、ロボットに再コミットできます。 スクリプトを再びコミットするたびに、新バージョンのスクリプトを作成します。 これらの方法のいずれかを使用して、スクリプトの編集および再コミットができます。

  • ロボットに関連付けられたプロジェクトで既存のスクリプトを編集し、もう一度スクリプトをコミットします。
  • ロボットから ACL にスクリプトをダウンロードし、1 つ以上のスクリプトを編集し、スクリプトをコミットします。

スクリプト バージョンの仕組み

バージョンは連続して採番される

1 つ以上のスクリプトを同じロボットにコミットするたびに、新しい、連番のバージョンのスクリプト(バージョン 1、バージョン 2 など)が作成されます。

連続したスクリプトのバージョンを保存することで、ロボットは、スクリプト作業が一切失われないことを保証し、必要に応じて、古いバージョンに簡単にアクセスすることができます。

バージョンは自己完結している

各コミットされたバージョンは、完全に自己完結しています。 前のバージョンのスクリプトは上書きされませんが、スクリプトがバージョン間でマージされることはありません。

プロジェクトからスクリプトを削除すると、コミットする後続のすべてのバージョンにはスクリプトが含まれません。

バージョンにはすべてのスクリプトが含まれる バージョンは、スクリプトをロボットにコミットするときに、プロジェクトにあるすべてのスクリプトを含みます。 プロジェクトからスクリプトを選択してコミットすることはできません。

スクリプト バージョンの例

シナリオ

現在、部署で隔週の給与ファイルに対して手動で実行する分析テストのセットを自動化したいと考えています。 テストは、従業員が正しく支払われていること、適切な給与控除が行われていること、存在しない従業員に支払われていないことなどを確認します。

スクリプト開発ワークフロー

  • ACL で、給与ファイルをインポートし、一部の事前データ準備タスクを実行してから、すべての分析テストを実行するスクリプトを開発します。
  • スクリプトをロボットにコミットします。ロボットでは、開発モードで、実際のデータのコピーに対してスクリプトを実行し、正常に動作することを確認します。
  • スクリプトが正常に動作したら、2 週間ごとに、自動的に実行されるようにスケジュールします。
ACL Analytics アクション/結果 ロボット

スクリプトのコミット >>

  • コミット スクリプト 1 をコミットします。これは、隔週の給与データをインポート、準備、分析します。
  • テスト ロボット開発モードでスクリプト 1 をテストします。正常に動作しているように思われます。
  • 問題 スクリプト 1 に含まれている機能が多すぎるため、他の人が簡単に理解したり編集したりすることが難しいかもしれないということに気付きました。

>> バージョン 1

スクリプトのコミット >>

  • 編集 スクリプト 1 を3 つの個別のスクリプト(2、3、4)に分割します。それぞれ、インポート、準備、分析フェーズです。 スクリプト 1 を削除します。
  • コミット プロジェクトでスクリプトをコミットします。
  • テスト 3 つのスクリプトをテストします。出力に結果の一部が含まれていないことに気付きました。
  • 問題 スクリプト 3 によって実行されるデータ クレンジングが十分に包括的でないため、一部の結果が出力されません。

>> バージョン 2

スクリプトのコミット >>

  • 編集 スクリプト 3 で、ACL 機能を使用して、追加のデータ クレンジングを実行する演算フィールドを作成します。 スクリプト 2 および 4 は変更しません。
  • コミット プロジェクトでスクリプトをコミットします。
  • テスト 3 つのスクリプトをテストします。出力にすべての結果が含まれています。
  • 成功 すべての 3 つのスクリプトとプロセス全体が正常に動作しています。 本番で使用するために、バージョン 3 のスクリプトを有効化します。

>> バージョン 3

編集されたスクリプト      変更されていないスクリプト

スクリプトを編集、コミットする際のベスト プラクティス

ロボットのスクリプトをマスター バージョンとして取り扱う

スクリプトはいったんロボットにコミットされると、変更されないよう保護されます。 ベスト プラクティスとして、ロボットのスクリプトをマスター バージョンとして取り扱う必要があります。 スクリプトを編集する場合は、ローカルで保存されたコピーを使用するのではなく、ロボットからスクリプトをまずダウンロードする必要があります。 作業するバージョンのスクリプトをダウンロードします。

ローカル コピーを使用して作業を始めるリスク

スクリプトのローカル コピーを使って作業の編集を始めるリスクは、そのコピーがロボットのバージョンと一致しない場合があることです。

  • ローカル コピーを不注意に変更してしまった、またはそれを変更したことを忘れてしまった
  • 自分がスクリプトを最後にコミットした後に、誰かがスクリプトのバージョンをロボットにコミットした

ダウンロードをスキップしても安全なのはいつか?

スクリプト バージョンをダウンロードした後の、単一のスクリプト作成セッション中に、反復間でダウンロードせずに、ACL プロジェクトから直接スクリプトの反復バージョンをコミットすることが一般的に安全です。

他の誰かが自分と同時にスクリプトで作業をしている可能性がある場合は、反復間でダウンロードします。 一度に一人のみがスクリプト バージョンで作業することが推奨されます。

スケジュール済みタスクの一部である編集されたスクリプトをテストする

編集されたスクリプト、またはロボットのスケジュール タスクの一部であるスクリプトを常にテストし、編集でタスクが破壊されていないことを確認する必要があります。

たとえば、スクリプトのアナリティクス ヘッダーに次の編集を行うと、関連タスクが破壊される場合があり、タスクを再び作成する必要があります。

  • 入力パラメーターの追加または削除
  • 入力ファイル、テーブル、またはフィールドの追加または削除
  • ハードコーディングされた入力ファイル、テーブル、またはフィールド名の変更

構文検証

スクリプトをロボットにコミットするたびに、ACL は自動的に 2 つのタイプの構文検証または確認を実行します。 スクリプトが検証または確認を渡さない場合は、スクリプトをコミットできず、問題の場所を示すメッセージが表示されます。

スクリプトをロボットにコミットする

スクリプトをロボットにコミットするときには、複数の方法があります。

さまざまな可能性を理解するための最も簡単な方法は、ACL プロジェクトとロボットを、関連付けることができる、スクリプトを格納するための 2 つのコンテナーであると考えることです。 関連付けると、プロジェクトの連続したバージョンのスクリプトをロボットにコミットできます。

メモ

スクリプトをロボットにコミットするときには、ACL プロジェクトのすべてのスクリプトがコミットされ、関連付けられたロボットで「バージョン」になります。 プロジェクトからスクリプトを選択してコミットすることはできません。

スクリプトをロボットにコミットするには、ロボット モジュールの該当するロールに割り当てる必要があります。 詳細については、ロボットのヘルプ文書を参照してください。

操作 コミットの結果
スクリプトを新しいロボットにコミットする

コミットされたスクリプトのバージョン 1 を含む、新しいロボットが作成されます。

スクリプトを既存のロボットにコミットする

既存のロボットにはコミットされたスクリプトが含まれます。バージョン番号は、ロボットに既にスクリプトが含まれているかどうかによって異なります。

編集されたスクリプトのコミット

新しいバージョンのスクリプトは、プロジェクトに関連付けられたロボットにコミットされます。

スクリプトを別のロボットにコミットする

スクリプトは、新しく作成されたロボットまたは既存のロボットにコミットされます。

プロジェクトと前のロボットの間の関連付けは削除されます。

スクリプトを新しいロボットにコミットする

初めてスクリプトをロボットにコミットし、コミットされたスクリプトを含む新しいロボットを作成します。

スクリプトを既存のロボットにコミットする

既存のロボットにスクリプトをコミットし、ロボットを入力します。 既存のロボットはスクリプトが含まれていても、空であってもかまいません。

メモ

プロジェクトがまだロボットに関連付けられていない場合に、この方法を使用します。 プロジェクトがロボットに関連付けられている場合は、スクリプトを別のロボットにコミットするを参照してください。

編集されたスクリプトのコミット

編集されたスクリプトをコミットし、関連付けられたロボットで新しいバージョンのスクリプトを作成します。

コミットする前にスクリプトを編集するには、2 つの方法があります。 関連付けられたプロジェクトでスクリプトを編集するか、ロボットから新しい ACL プロジェクトにスクリプトをダウンロードして、新しいプロジェクトでスクリプトを編集できます。

スクリプトを別のロボットにコミットする

スクリプトを別のロボットにコミットし、スクリプトのバージョンをロボットに追加して、プロジェクトに関連付けられたロボットを変更します。 スクリプトは編集または編集解除できます。

スクリプトを別のロボットにコミットするときには、2 つの方法があります。

  • スクリプトを新しいロボットにコミットする
  • スクリプトを既存のロボットにコミットする

ACL でロボット テーブルを表示する

ACL でロボット データ テーブルまたは結果テーブルを表示できます。 ACL でロボット テーブルを表示するときには、テーブル データはロボット エージェントに残りますが、ACL での分析でそのデータを使用できます。

データ テーブルのダウンロード

メモ

ACL データ テーブルは、ACL Robotics Professional Edition ではサポートされません。

データ テーブルは、//DATA アナリティクス タグを使用して指定されます。 詳細については、DATA を参照してください。

  1. ロボット ダッシュボードから、データ テーブルまたはテーブルを含むロボットをクリックします。
  2. ロボットの右上隅で、[開発モード]トグルを使用し、使用する環境を選択します。
  3. 入力/出力]タブを選択します。
  4. ソース テーブル]一覧または[他のテーブル]一覧では、ダウンロードするテーブルを選択します。
  5. テーブル詳細]パネルで、[AN でテーブルを表示]をクリックします。

    ヒント

    テーブルを削除する場合は、[テーブルを削除 > 削除]をクリックします。

    結果 <ロボット名>.acl という名の ACL プロジェクトがローカル ファイル システムにダウンロードされます。 プロジェクトには、選択したテーブルだけではなく、[入力/出力]タブのすべてのデータ テーブルが含まれます。

    ACL Analytics でプロジェクトを開き、データ テーブルを表示できます。

タスク結果のダウンロード

タスク結果には、ACL 結果テーブル、他のファイル タイプ、およびログ ファイルを含めることができます。

タスク結果は //RESULT アナリティクス タグを使用して指定されます。 詳細については、RESULT を参照してください。

  1. ロボット ダッシュボードから、結果を含むロボットをクリックします。
  2. ロボットの右上隅で、[開発モード]トグルを使用し、使用する環境を選択します。
  3. タスク実行]タブを選択します。
  4. ダウンロードする結果のタスク実行を選択します。
  5. タスク実行詳細]パネルで、次のいずれかを実行します。
    個別に結果ファイルをダウンロードする

    非 ACL 結果ファイルまたは ACL ログファイル名の横の[ダウンロード]をクリックする。

    結果 ファイルはローカル ファイル システムにダウンロードされ、ネイティブ アプリケーションで開くことができます。 ACL ログ ファイルは任意のテキスト エディターで開けます。 また、ログファイル名の横の[表示]をクリックすると、ログを直接表示できます。

    パッケージのすべての結果ファイルをダウンロードする

    結果パッケージのダウンロード]をクリックします。

    結果 <ロボット名>.zip という名の ACL プロジェクトがローカル ファイル システムにダウンロードされます。

    圧縮されたファイルの内容を展開して、ACL Analytics で ACL プロジェクトを開き、ACL 結果テーブルを表示できます。 Excel など、ネイティブ アプリケーションで、他の結果ファイルタイプを開くことができます。

    タスク実行が失敗した場合、[失敗したパッケージのダウンロード]をクリックして、ログファイルをダウンロードします。 また、ログファイル名の横の[表示]をクリックすると、ログを直接表示できます。 ログファイルを使用すると、タスクが失敗した理由を特定できます。

ACL でロボット テーブルを開く

メモ

ACL のロボット テーブルを開くには、[ACL サーバー統合を有効にする]オプションを選択する必要があります([ツール > オプション > インターフェイス])。

ロボット エージェントに接続するには、ACL(Unicode または非 Unicode)がエージェントのエディションと一致する必要があります。

  1. ダウンロードまたは解凍した ACL プロジェクト (*.acl) に移動して、ダブルクリックします。

    ACL でプロジェクトが開きます。

  2. ロボット テーブルをダブルクリックして開きます。
  3. ネットワーク パスワードを入力し、[OK]をクリックします。

ヒント

ロボット エージェントに接続できない場合は、RobotsProfile を削除し、ACL プロジェクトを閉じてからもう一度開き、更新されたプロファイルを自動的に作成します。 RobotsProfile を削除するには、ACL メイン メニューで、[サーバー > サーバー プロファイル]に移動します。