スクリプト自動化をロボットに追加する
ロボットを作成した後に、1 つ以上のスクリプトをロボットに追加し、目的の自動化を作成します。スクリプトを追加する方法は、使用しているロボットの種類によって異なります。
-
ACL ロボット:Analytics で 1 つ以上の ACL ロボットを作成して、それらをロボットにアップロードします
-
HighBond ロボットまたはワークフローロボット:ロボットスクリプト エディターで Python/HCL スクリプトを作成します
メモ
現在、ロボットごとの Python/HCL スクリプトの数は 1 つに制限されています。
ワークフロー ロボットにアクセスするには、Professional サブスクリプションのシステム管理者ユーザー タイプが割り当てられている必要があります。
スクリプト開発ワークフロー
Analytics またはロボットスクリプト エディターからスクリプトを追加または更新するときには、新しいスクリプトまたは更新されたスクリプトは、ロボット開発モードで新しいバージョンとして表示されます。そこで、以下のことが可能です。
-
ロボットでのスクリプトの開発履歴を見ます。
-
開発モードでタスクを作成して実行し、スクリプトをテストして、スクリプトが想定どおりに動作することを検証します。
-
スクリプトバージョンのいずれかをアクティブ化し、本番モードに転送する
このプロセスは、反復したスクリプトの開発をサポートし、アクティブなビジネスプロセスに影響を与えることなく変更をテストする機会を与えます。詳細については、「データ分離に関する考慮事項」を参照してください。
ACL スクリプトをロボットに追加する
初めて ACL スクリプトを ACL ロボットに追加する場合、次の 2 種類の方法があります。
-
ロボットを使用して、Analytics プロジェクトから既存の ACL スクリプトをアップロードする。
-
ロボットを使用して、新しい Analytics プロジェクトを自動的に作成し、スクリプトを入力してロボットにコミットする。
その後アナリティクススクリプトを ACL ロボットに追加するには、ロボットへの ACL スクリプトのコミット (アップロード)を参照してください。
各方法の比較
スクリプトを追加する各方法の最終結果は同じで、スクリプトの最初のバージョンが新しいロボットに作成されます。しかし、方法によってこのような違いが存在します。
-
構文検証 Analytics からロボットにスクリプトをコミットする際に、構文の自動検証を行います。ロボットを使用して既存の ACL スクリプトをアップロードする場合は、検証は行われません。
-
プロジェクトとロボットの関連付け Analytics からスクリプトをコミットする際に、スクリプトを含む Analytics プロジェクトと新しいロボットが自動的に関連付けられます。ロボットを使用して既存の ACL スクリプトをアップロードする場合は、関連付けは行われません。
ACL スクリプトが Analytics に存在する
-
Launchpad ホームページ(www.highbond.com)から、ロボット アプリを選択して開きます。
すでに Diligent One を使用している場合は、左側のナビゲーション メニューを使用してロボット アプリに切り替えることができます。
-
ロボットのダッシュボードから、[ACL ロボット]を選択します。
-
新しく作成された ACL ロボットをクリックして開きます。
-
[既存のプロジェクトをアップロード]をクリックします。
-
表示されるダイアログボックスで、次の操作を行います。
-
[コンピューターから選択]をクリックし、スクリプトが含まれる Analytics プロジェクトに移動します。
-
プロジェクトを選択して、[開く]をクリックします。
Analytics プロジェクトを[アップロードされたスクリプト]領域にドラッグすることもできます。
-
-
[メッセージをコミット] を入力して、[アップロードしてコミット] をクリックします。
スクリプトがロボットにアップロードされ、[スクリプトバージョン]リストの最上部にバージョン 1 (v1) が作成されます。
-
省略可能。スクリプトのバージョンを選択すると、[バージョンの詳細]パネルが表示されます。
このパネルには、バージョンに含まれるすべての個別スクリプトのリストなど、スクリプトバージョンに関連するさまざまな詳細が表示されます。このパネルには、スクリプトバージョンを本番モードにするために使用する[アクティブ化]ボタンもあります。詳細については、「スクリプト バージョンをアクティブ化」を参照してください。
ACL スクリプトが存在しない
-
Launchpad ホームページ(www.highbond.com)から、ロボット アプリを選択して開きます。
すでに Diligent One を使用している場合は、左側のナビゲーション メニューを使用してロボット アプリに切り替えることができます。
-
ロボットのダッシュボードから、[ACL ロボット]を選択します。
-
新しく作成された ACL ロボットをクリックして開きます。
-
[ロボットをダウンロード] をクリックします。
新しく作成された Analytics プロジェクトは、コンピューターのデフォルトのダウンロードフォルダーにダウンロードされます。このプロジェクトには、ダウンロードしたロボットと同じ名前が付けられています。プロジェクトとロボットは自動的に関連付けられます。
-
ダウンロードした場所に移動し、Analytics プロジェクト (<robot_name>.acl) をダブルクリックして開きます。
-
スクリプトを作成します。
Analytics でロボットで使用するスクリプトをオーサリングする方法については、アナリティクス スクリプトを参照してください。
- Analytics メインメニューから、[ファイル]>[スクリプトをコミット]を選択します。
If an error message appears, there may be a problem with the analytic header, or the script syntax, in one or more of the scripts in the project.
For more information, see Analytics およびロボットにおける ACL スクリプトの開発ワークフロー.
- コミットされたスクリプトを説明する簡潔なコミット メッセージを入力し、[OK]をクリックします。
バージョン 1 のスクリプトが新しく作成されたロボットにコミットされます。このスクリプトは、この時点では開発モードでのみ存在します。
- [スクリプトのコミットが成功しました]ダイアログボックスで、バージョン 1 の下にある 2 番目のリンクをクリックします。
ロボットで[スクリプトバージョン]タブが開発モードで開きます。このタブには、追加したスクリプトのバージョン 1 (v1) が表示されます。
-
省略可能。スクリプトのバージョンを選択すると、[バージョンの詳細]パネルが表示されます。
このパネルには、バージョンに含まれるすべての個別スクリプトのリストなど、スクリプトバージョンに関連するさまざまな詳細が表示されます。このパネルには、スクリプトバージョンを本番モードにするために使用する[アクティブ化]ボタンもあります。詳細については、「スクリプト バージョンをアクティブ化」を参照してください。
Python/HCL スクリプトをロボットに追加する
HighBond ロボットまたはワークフローロボットを作成した直後には、ロボットスクリプトエディターが自動的に開き、スタートアッププロセスが開始します。ロボットを作成した直後ではない場合は、ロボットを開き、スクリプトエディターに移動する必要があります。
-
Launchpad ホームページ(www.highbond.com)から、ロボット アプリを選択して開きます。
すでに Diligent One を使用している場合は、左側のナビゲーション メニューを使用してロボット アプリに切り替えることができます。
-
ロボットのダッシュボードから、該当するロボットの種類のタブを選択します。
-
HighBond ロボット
-
ワークフロー ロボット
-
-
ロボットに移動し、そのロボットを選択して開きます。
-
ロボットの右上隅で、[開発]をクリックし、開発モードに切り替えます。
-
[スクリプトバージョン]タブで v0 のスクリプトを選択します。[バージョン詳細]パネルで[スクリプトを編集]をクリックします。
ロボット スクリプト エディターでスタートアップ処理が開始します。スタートアップ プロセス中でもスクリプトの保存と編集はできますが、プロセスが完了するまでは、スクリプトまたはスクリプト セルを実行できません。
-
Python/HCL スクリプトを作成します。
詳細については、「ロボットでの Python および HCL スクリプト」を参照してください。
-
スクリプトが正常に実行されていることを確認した後は、スクリプトを保存し、スクリプト エディターを終了します。
-
スクリプト エディター ツールバーで[保存してコミット]をクリックします。
-
変更内容を説明するわかりやすいコミットメッセージを入力します。
-
省略可能。[タスクの実行ログファイルにスクリプト出力を保存]を選択します。
ロボットのタスクを使用してスクリプトを実行する場合、このオプションはスクリプトの出力をすべてログファイルに保存します。保存された出力は、スクリプトの開発時やトラブルシューティング時に確認するのに役立ちます。詳細については、「ログファイルへのスクリプト出力の保存」を参照してください。
-
[コミット]をクリックして、スクリプトを保存して、コミットします。
[スクリプトは正常にコミットされました]メッセージが表示されます。
-
ページヘッダーでロボット名をクリックします。
結果 ロボットの[スクリプトバージョン]に戻ります。スクリプトをコミットして保存するたびに、保存されたバージョンがこのタブに追加されます。
-
ロボット間で Python/HCL スクリプトをコピーします
ロボット間で Python/HCL スクリプトをコピーするには、スクリプトをソースロボットからダウンロードし、移行先ロボットにアップロードします。
ロボットは、ダウンロードしたスクリプトを JSON ファイル (*.json) として自動的にフォーマットします。このファイルには、ロボットスクリプト エディターのすべてのセルのスクリプトコンテンツと、スクリプトに保存されているすべての変数定義と値が含まれています。
メモ
ワークフローロボットに対するアクセス許可を持っている場合、ワークフローロボットと HighBond ロボットの間でのスクリプトのコピーができないことはありません。これら 2 つのロボットには仕様や制限が異なるため、それによってコピーしたスクリプトが正常に実行されない可能性があることに注意してください。詳細については、「ロボットの仕様と制限」を参照してください。
スクリプトをソースロボットからダウンロードする
-
Launchpad ホームページ(www.highbond.com)から、ロボット アプリを選択して開きます。
すでに Diligent One を使用している場合は、左側のナビゲーション メニューを使用してロボット アプリに切り替えることができます。
-
ロボットのダッシュボードから、該当するロボットの種類のタブを選択します。
-
HighBond ロボット
-
ワークフロー ロボット
-
-
ソースロボットをクリックして開きます。
-
ロボットの右上隅で、[開発]をクリックし、開発モードに切り替えます。
-
[スクリプトバージョン] タブで、コピーしたいスクリプトのバージョンを選択します。
-
[バージョンの詳細]パネルで、[スクリプトをダウンロード]をクリックします。
スクリプトはコンピューターに JSON ファイル (*.json) としてダウンロードされます。
スクリプトを移行先ロボットにアップロードする
-
ロボットのダッシュボードから、該当するロボットの種類のタブを選択します。
-
HighBond ロボット
-
ワークフロー ロボット
-
-
移行先ロボットをクリックして開きます。
-
ロボットの右上隅で、[開発]をクリックし、開発モードに切り替えます。
-
[スクリプトバージョン]タブで、[アップロード]をクリックします。
-
表示されるダイアログボックスで、コンピューターから JSON ファイル (*.json) を選択するか、またはそれを[アップロードされたスクリプト]領域にドラッグします。
-
[メッセージをコミット] を入力して、[アップロードしてコミット] をクリックします。
スクリプトは [スクリプトバージョン] タブに最新バージョンとして追加されます。スクリプトが正常にコミットされたことを確認する通知が表示されます。
アップロードとコミットプロセスが失敗した場合にも通知は表示されます。もう一度アップロードしてください。アップロードが再び失敗した場合は、ソースロボットからスクリプトの新しいコピーをダウンロードして、その新しいコピーをアップロードしてみてください。
スクリプト バージョンをアクティブ化
スクリプトが開発モードで適切に実行することを確認したら、それをアクティブ化して、本番データに対して本番モードで実行できます。詳細については、「ロボットの開発モードと本番モード」を参照してください。
ロボットの開発履歴でバージョンをアクティブ化できます。バージョンをアクティブ化する場合は、そのバージョンのスクリプトが本番のタスクで実行するスクリプトになります。
-
Launchpad ホームページ(www.highbond.com)から、ロボット アプリを選択して開きます。
すでに Diligent One を使用している場合は、左側のナビゲーション メニューを使用してロボット アプリに切り替えることができます。
-
ロボットのダッシュボードから、該当するロボットの種類のタブを選択します。
-
アクティブ化するスクリプト バージョンが含まれるロボットに移動し、そのロボットを選択して開きます。
-
ロボットの右上隅で、[開発]をクリックし、開発モードに切り替えます。
-
[スクリプトバージョン]タブで、アクティブ化するスクリプトのバージョンを選択します。
-
[バージョンの詳細]パネルで、[アクティブ化]をクリックします。
-
省略可能。バージョン履歴にコメントを入力し、何をアクティブ化するかを説明します。
ヒント
スクリプトバージョンをアクティブ化する際に有益なコメントを入力しておくと、後で自動分析をレビューする際のたいへん役立つベストプラクティスになります。
-
[アクティブ化 versionNumber]をクリックします。
スクリプトバージョンがアクティブ化され、本稼働モードで利用可能になります。
(ACL ロボットのみ)本番モードの[スクリプト]タブでは、スクリプトバージョンで個々のアナリティクス スクリプト、および補助スクリプトが一覧化されます。
バージョンのアクティブ化における競合の処理(ACL ロボットのみ)
ACL ロボットでスクリプト バージョンを開発モードから本番モードにアクティブ化すると、競合の警告が表示される場合があります。競合の警告は、異なる 2 つの状況が原因である場合があります。
- スクリプト名の競合
- パラメーターの競合
競合の警告を無効化するオプションと、スクリプト バージョンのアクティブ化を強制的に行うオプションがありますが、アクティブ化を強制的に行うという意味を自覚しておく必要があります。
競合を警告する目的は?
競合の警告では、本番のスクリプト バージョンと、既存の本番タスク (複数回可) の実行を防ぐことが可能な開発スクリプト バージョンには違いがあることを知らせます。たとえば、タスクが存在していないスクリプト名を指定している場合、または新しく追加された入力パラメーターがタスクで空のままである場合に、タスクは実行されません。
スクリプト名の競合
アクティブ化したいスクリプト バージョンは、現在の本番スクリプト バージョンと競合するスクリプト名の変更を取り込むする場合があります。
既存の本番タスク (複数回可) で実行に選択される ACL スクリプトが、次のような場合に、名前の競合が発生します。
- 開発スクリプト バージョンで名前が変更されている
- 開発スクリプト バージョンから削除されている
パラメーターの競合
アクティブ化するスクリプト バージョンは、現在の本番スクリプト バージョンと競合する入力パラメーターの変更を取り込むする場合があります。ユーザーは、タスクを実行またはスケジュールする時に、入力パラメーターの値を提供します。
パラメーターの競合が発生するのは次の場合です。
- 新しい入力パラメーターが開発スクリプト バージョンに追加されている
- 既存の入力パラメーターの属性が開発スクリプト バージョンで変更されている
入力パラメーターは、スクリプトの現在の本番バージョンと、アクティブ化するバージョン間で比較されます。具体的には、スクリプトが同じ名前のアナリティクス ヘッダーでの次のアナリティクス タグが比較されます。
- PARAM
- PASSWORD
- TABLE
- FIELD
これらのタグの 1 つのいずれかを追加すると競合の原因になります。既存のタグの属性にいずれかの変更を行うことも競合の原因になります。例: ピッキング リストを設定する提供パラメーター値のいずれかの変更または削除、変数名の変更、ユーザー インターフェイス ラベルや説明の変更等
開発スクリプト バージョンからこれらのアナリティクス タグのいずれかを削除しても競合の原因にはなりません。該当する入力パラメーターは、既存の本番タスクから自動的に削除されます。
アクティブ化しようとしている開発スクリプト バージョンからの入力パラメーターと属性のみが考慮されます。
競合の解決
スクリプト名またはパラメーターの競合が発生する場合に、開発スクリプト バージョンのアクティブ化を試みると通知が送られます。競合が発生した場合の 2 つのオプション:
- 開発スクリプト バージョンの編集 Analytics でスクリプトを編集し、競合が存在しないことを確認し、次に更新されたスクリプト バージョンをコミットし、アクティブ化します。
- 強制アクティブ化 [強制アクティブ化 versionNumber]をクリックすることでアクティブ化を強制的に行い、本番スクリプトを選択されている開発スクリプト バージョンで上書きします。
アクティブ化を強制的に行うと、その競合によって影響を受ける既存の本番タスクが自動的に無効化されます。
無効化された本番タスクを編集し、新しいスクリプト名を選択するか、更新されたパラメーターの入力を行い、次にタスクを有効化します。