オンプレミスコマンドラインスクリプト
Workatoのオンプレミスコマンドラインスクリプトコネクターを使用すると、オンプレミスエージェントを通じて、プライベートネットワーク内で許可リストに登録されたコマンドラインスクリプトを実行できます。 オンプレミスエージェントを実行するシステムでサポートされている任意のコマンドを許可リストに登録できます。
コマンドラインスクリプトへのアクセスの制御
このコネクターのコネクションを作成、編集、削除できるユーザーを管理するには、Command line scripts権限を使用します。 不正なスクリプト実行を防ぐために、この権限を制限してください。
オンプレミスコマンドラインスクリプトへの接続方法
オンプレミスコマンドラインスクリプトコネクターに接続するには、次の手順を完了します。
前提条件
このコネクターには、有効なオンプレミスエージェントが必要です。 エージェントを設定するには、次のガイドを参照してください。
作成 > コネクションをクリックするか、Cを2回押します。
New connectionページでOn-prem command-line scriptsを検索して選択します。
コネクション名フィールドにコネクションの名前を入力します。

ロケーションドロップダウンメニューを使用して、コネクションを保存するプロジェクトを選択します。
オンプレミスグループドロップダウンメニューを使用して、使用するオンプレミスグループを選択します。
Concurrency limitフィールドに同時実行制限を入力します。 この制限を超えるリクエストはキューに入れられます。 指定しない場合、デフォルトは10です。
各スクリプトをタイムアウトするまで実行できる秒数をTimeoutフィールドに入力します。 指定しない場合、デフォルトは90です。 エージェントバージョン2.14.0以降では、コマンドラインスクリプトを実行アクションでもタイムアウトを設定できます。
Scriptsフィールドでコマンドラインスクリプトを定義します。 コマンドラインスクリプトを実行アクションを使用して、オンプレミスエージェント経由でこれらのスクリプトを実行できます。
Connectをクリックして設定を完了します。
コマンドラインスクリプトを実行アクション
Execute command-line scriptアクションは、接続済みのオンプレミスエージェントを通じて事前定義済みのコマンドラインスクリプトを実行します。 スクリプトは次のいずれかで定義できます。
- オンプレミスエージェントの
config.ymlファイルのcommand_line_scriptsセクション。 - コネクションを設定する際のScriptsフィールド。 いずれかの場所で定義したコマンドは、自動的に許可リストに登録されます。 スクリプト定義の詳細については、Command-line Scripts Profileセクションを参照してください。
入力
| 入力フィールド | 説明 |
|---|---|
| コマンドラインスクリプト | 接続済みのオンプレミスエージェントを通じて実行するスクリプトを選択します。 |
| タイムアウト制限(分) | スクリプトをタイムアウトするまで実行できる分数を入力します。 最大値は1440分(24時間)です。 指定しない場合、デフォルトは2分です。 エージェントバージョン2.14.0以降のみがサポートされます。 以前のバージョンでは、 config.ymlで指定されたtimeout値が使用されます。 |
| スクリプトをバックグラウンドで実行しますか | 任意です。 スクリプトの完了を待たずにレシピを続行するかどうかを選択します。 エージェントバージョン2.14.0以降では、24時間を超えるスクリプトはタイムアウトします。 |
追加入力の定義
スクリプト設定で追加の入力パラメーターを指定できます。 次の例では、target_directoryとsource_fileをパラメーターとして指定します。
command_line_scripts:
workday_reports:
concurrency_limit: 3
timeout: 30
scripts:
copy_file:
name: Copy file
command:
- /bin/cp "{{source_file}}" "{{target_directory}}"
parameters:
- { name: source_file }
- { name: target_directory }Workatoでは、これらのパラメーターがScript inputセクションの必須値として表示されます。
レシピの入力パラメーター
詳細については、Command-line Scripts Profileセクションを参照してください。
パラメーター値のエスケープ
特殊文字を含むパラメーター値を処理するには、エスケープ文字を使用できます。 Unixではescape_char値は\に、Windowsでは""に設定されます。
次の例では、バックスラッシュを使用してtarget_file値の文字をエスケープします。
command_line_scripts:
workday_reports:
concurrency_limit: 3
timeout: 30
scripts:
append_file_to_another:
name: Append file to another
command:
- cat {{source_file}} >> {{target_file}}
parameters:
# Parameter quoting
- { name: source_file, quote: '""' }
# Advanced parameter quoting
- { name: target_file, quote: {start: '""', end: '""', quote: '""', escape_char: \ } }詳細については、Command-line Scripts Profileセクションを参照してください。
出力
| 出力フィールド | 説明 |
|---|---|
| プロセスID | コマンドラインスクリプトプロセスの一意のID。 |
| 終了コード | 完了したスクリプトの終了ステータス。 成功したコマンドは0を返し、失敗したコマンドはエラーコードを返します。 |
| システム出力 | スクリプトによって返される出力メッセージ。 最大長は50,000文字です。 |
Last updated: