# CLI コマンドリファレンス

SDK gem のインストール後に CLI で使用できるコマンドについて詳しく説明します。


# workato

Workato gem の基礎的なコマンド。workato help と同等の動作をします。

# 使用方法

$ workato

# 出力

Workato gem で利用可能なコマンドについての説明。


# workato edit

暗号化ファイルを作成または編集します。

# 使用方法

$ workato edit <PATH>

# 入力

入力 説明
EDITOR ファイル編集に使用するエディター。例: nano
PATH 作成または更新するファイルへのパス。ドット表記で指定します。

# オプション

オプション 説明
--key、-k 暗号化キーまたは復号キーのパス。

指定されない場合は、デフォルトで master.key が使用されます。

master.key ファイルが存在せず、オプションも指定されない場合は、新しい master.key ファイルが作成されます。

# 結果

暗号化ファイルが作成または更新されます。master.key ファイルが存在せず、オプションも指定されなかった場合は、master.key ファイルが作成されます。

#

Windows の場合:
  $ set EDITOR=notepad
  $ workato edit settings.yaml.enc
Mac の場合:
  $ EDITOR="nano" workato edit settings.yaml.enc

# workato exec

コネクター内の特定の lambda 関数をテスト用に実行します。

# 使用方法

$ workato exec <PATH> <OPTIONS>

# 入力

入力 説明
PATH 実行する lambda 関数のパス。ドット表記で指定します。たとえば、actions.search_customers.execute は、search_customers アクションおよび execute の lambda 関数に対応します。また、actions.search_customers というパスを使用することでアクション全体をシミュレートすることもできます。

# オプション

オプション 説明
-c または --connector 実行する connector.rb ファイルのパス。指定されない場合は、デフォルトで connector.rb が使用されます。
-s または --settings 認証情報を格納している settings.yaml ファイルのパス。指定されない場合は、デフォルトで settings.yaml.enc、その次に settings.yaml が使用されます。
-n または --connection settings.yaml ファイル内のコネクション名。複数の認証情報セットが存在する場合にのみ必要となります。
-i または --input 入力を格納している JSON ファイルのパス。executewebhook_notification、または poll の lambda 関数で使用されます。
--closure クロージャを格納している JSON ファイルのパス。初回ポーリング後のポーリングをシミュレートするために poll の lambda 関数で使用されます。
-a または --args メソッドまたはピックリストの引数を格納している JSON ファイルのパス。methods または pick_lists の lambda 関数の呼び出しをシミュレートするために使用されます。引数が想定されているにもかかわらず指定されなかった場合は、エラーが発生する可能性があります。
--extended-input-schema および --extended-output-schema extended_input_schema および extended_output_schema を格納している JSON ファイルのパス。executewebhook_notification、または poll の lambda 関数で使用されます。
--config-fields config_fields のデータを格納している JSON ファイルのパス。object_definitionsinput_fields、または output_fields の lambda 関数で使用されます。
--webhook-headers 受信 Webhook のヘッダーデータを格納している JSON ファイルのパス。webhook_notification の lambda 関数で使用されます。
--webhook-params 受信 Webhook のパラメータデータを格納している JSON ファイルのパス。webhook_notification の lambda 関数で使用されます。
--webhook-payload 受信 Webhook のペイロードデータを格納している JSON ファイルのパス。webhook_notification の lambda 関数で使用されます。
--webhook-url Webhook の URL を格納しているファイルのパス。webhook_subscribe の lambda 関数で使用されます。
-o または --output lambda 関数の出力を保存するファイルのパス。
--oauth2-code acquire の lambda 関数の呼び出しに使用される Oauth2 コード。
--redirect-url refresh の lambda 関数の呼び出しに使用されるリダイレクト URL。
--refresh-token refresh の lambda 関数の呼び出しに使用される更新トークン。
--verbose コマンドを詳細モードで実行する場合は、このオプションを指定してください。このオプションにより、HTTP リクエストやリクエストペイロードがすべて表示されるようになります。レスポンスの本文は表示されませんが、byebug を利用して検査できます。
--debug 最後に発生したエラーだけでなく、スタックトレース全体からエラーを表示する場合は、このオプションを指定してください。

# 結果

lambda 関数の出力。

#

特定のメソッドを呼び出します。

$ workato exec methods.sample_method --args='input/sample_method_input.json'

test の lambda 関数を呼び出します。コネクターと設定をすべて指定しています。

workato exec test --connector='zoominfo.rb' --settings='settings.yaml' --connection='My Valid Connection' --verbose

特定のアクションを呼び出し、それに入力を渡します。

$ workato exec actions.search_customers.execute --input='input/search_customer_input.json' --verbose

特定のポーリングトリガーを起動し、それに入力を渡します。クロージャで can_poll_moretrue に設定されている場合、このコマンドは一連のレコードをページネーションするトリガーをシミュレートします。

$ workato exec triggers.new_updated_customers.poll --input='input/new_updated_customers_input.json' --verbose

特定のポーリングトリガーを起動し、それに入力を渡します。出力は、そのポーリングの単一ページです。このコマンドは単一のトリガーポーリングをシミュレートし、最初のページのみを返します。

$ workato exec triggers.new_updated_customers.poll_page --input='input/new_updated_customers_input.json' --verbose

# workato generate

指定された JSON または CSV に基づいて Workato スキーマを生成します。あるいは、指定されたコネクターに基づいてテストを生成します。

# 使用方法

$ workato generate<SUBCOMMAND>

# 入力

入力 説明
SUBCOMMAND どのアセットを生成するかという指定。`schema` または `test`。

# workato generate schema

指定された JSON または CSV ファイルを受け取り、それをコネクターで使用する Workato スキーマに変換します。

# 使用方法

$ workato generate schema<OPTIONS>

# オプション

オプション 説明
--json Workato スキーマに変換する JSON ファイルのパス
--csv Workato スキーマに変換する CSV ファイルのパス
--col-sep 指定された CSV ファイル内の列区切り文字。デフォルトはカンマです。使用できる値はカンマ、スペース、タブ、コロン、セミコロン、パイプです。
--api-email 必須。コネクターのプッシュ先となるワークスペースの API メール。これは、ターゲットワークスペースの [Account settings] ページで確認できます。指定されない場合は、環境変数 WORKATO_API_EMAIL が使用されます。
--API-TOKEN 必須。コネクターのプッシュ先となるワークスペースの API メール。これは、ターゲットワークスペースの [Account settings] ページで確認できます。指定されない場合は、環境変数 WORKATO_API_TOKEN が使用されます

#

JSON ペイロードのサンプルを Workato スキーマに変換

$ workato generate schema --json='fixtures/actions/search_customers/input.json'

パイプで区切られた CSV ファイルを Workato スキーマに変換

$ workato generate schema --csv='fixtures/actions/report/input.csv' --col-sep=pipe

# workato generate test

指定されたコネクターを受け取り、特定の機能に対する RSpec テストを生成します。

# 使用方法

$ workato generate test <OPTIONS>

# オプション

オプション 説明
-c または --connector 実行する connector.rb ファイルのパス。指定されなかった場合は、デフォルトで connector.rb に設定されます。
-a または --action 生成されるテストの対象となる特定のアクションの名前。指定されない場合、すべての機能のテストが生成されます。
-t または --trigger 生成されるテストの対象となる特定のトリガーの名前。指定されない場合、すべての機能のテストが生成されます。
-p または --pick-list 生成されるテストの対象となる特定のピックリストの名前。指定されない場合、すべての機能のテストが生成されます。
-o または --object-definition 生成されるテストの対象となる特定の object_definition の名前。指定されない場合、すべての機能のテストが生成されます。
-m または --method 生成されるテストの対象となる特定のメソッドの名前。指定されない場合、すべての機能のテストが生成されます。

# 入力

入力 説明

#

コネクターのすべての機能を対象としたスケルトンテストを生成

$ workato generate test

特定のアクションを対象としたスケルトンテストを生成

$ workato generate test action=get_customers

# workato help

指定された SDK gem のコマンドのヘルプを表示します。

# 使用方法

$ workato help <COMMAND>

# 入力

入力 説明
COMMAND ヘルプを表示したいコマンド。例: edit

# 出力

指定された SDK gem コマンドの詳細なヘルプ。

#

$ workato help edit
Usage:
  workato edit PATH

Options:
  -k, [--key=KEY]                  # Path to file with encrypt/decrypt key. NOTE: key from WORKATO_CONNECTOR_MASTER_KEY has higher priority
      [--verbose], [--no-verbose]  

Edit encrypted file, e.g. settings.yaml.enc

# workato new

選択したディレクトリに新しいコネクタープロジェクトを作成します。

新しいコネクタープロジェクトを作成する際は、HTTP モックの動作に securesimple のどちらを選択するか尋ねられます。

Please select default HTTP mocking behavior suitable for your project?

1 - secure. Cause an error to be raised for any unknown requests, all request recordings are encrypted.
            To record a new cassette you need set VCR_RECORD_MODE environment variable

            Example: VCR_RECORD_MODE=once bundle exec rspec spec/actions/test_action_spec.rb

2 - simple. Record new interaction if it is a new request, requests are stored as plain text and expose secret tokens.
secure を選択すると、単体テスト用に作成される VCR 記録が暗号化されるので、こちらが推奨されます。この場合は、環境変数 VCR_RECORD_MODE を設定する必要もあります。

# 使用方法

$ workato new <PATH>

# 入力

入力 説明
PATH コネクタープロジェクトの作成場所となるパス。

# 結果

新しいコネクタープロジェクトが生成されます。

#

$ workato new ~/Desktop/my-new-connector

# workato oauth2

TIP

workato oauth2 コマンドを実行するには、SDK Gem version 0.1.2以上が必要です。

このコマンドは、Oauth2 認証コード付与フローを、適用可能なコネクターに実装するために使用します。適用可能なコネクターは、コネクションハッシュに`type:'oauth2` が含まれているものです。詳細については、こちらに掲載されている Okta の有用な記事を参照してください。

# 使用方法

$ workato oauth2 <OPTIONS>

# オプション

オプション 説明
-c または --connector コネクターのソースコードのパス。指定されない場合は、デフォルトで connector.rb が使用されます。
-s または --settings 認証情報を格納している settings.yaml ファイルのパス。指定されない場合は、デフォルトで settings.yaml.enc、その次に settings.yaml が使用されます。
-n または --connection settings.yaml ファイル内のコネクション名。複数の認証情報セットが存在する場合にのみ必要となります。
--key、-k 暗号化キーまたは復号キーのパス。

指定されない場合は、デフォルトで master.key が使用されます。

master.key ファイルが存在せず、オプションも指定されない場合は、新しい master.key ファイルが作成されます。
--port デフォルトでは、SDK Gem は OAuth コールバックを受信するために使用する Web サーバーを "http://localhost:45555/oauth/callback" で起動します。このオプションは、そのポートを変更するために使用します。 たとえば、--port='3010' を指定すると、Web サーバーは "http://localhost:3010/oauth/callback" で起動します。 このオプションは、OAuth アプリが特定のリダイレクト URI に設定されている場合に役立ちます。
--ip 既定の IP アドレスを上書きすることができます。デフォルトでは "127.0.0.1" になります。
--https、--no-https 自己署名証明書を利用する Web サーバーを起動します。Oauth アプリが "https://" を接頭辞とするリダイレクト URI を要求する場合に必要となります。
--verbose コマンドを詳細モードで実行する場合は、このオプションを指定してください。このオプションにより、HTTP リクエストやリクエストペイロードがすべて表示されるようになります。レスポンスの本文は表示されませんが、byebug を利用して検査できます。

# 結果

Workato 上で OAuth2 認証コード付与フローをエミュレートします。適用可能なコネクターは、コネクションハッシュに`type:'oauth2` が含まれているものです。詳細については、こちらに掲載されている Okta の有用な記事を参照してください。

#

#
$ workato oauth2

# workato push

TIP

Workato Gem バージョン0.2.0より前では、workato push コマンドを実行するには Workato ワークスペースにターゲットフォルダーが必要でした。その後、この仕様は修正され、ワークスペースのホームフォルダーがデフォルトで使用されるようになりました。

選択した Workato フォルダーに新しいコネクタープロジェクトを作成します。

# 使用方法

$ workato push <OPTIONS>

# オプション

オプション 説明
--api-email 必須。コネクターのプッシュ先となるワークスペースの API メール。これは、ターゲットワークスペースの [Account settings] ページで確認できます。指定されない場合は、環境変数 WORKATO_API_EMAIL が使用されます。
--API-TOKEN 必須。コネクターのプッシュ先となるワークスペースの API メール。これは、ターゲットワークスペースの [Account settings] ページで確認できます。指定されない場合は、環境変数 WORKATO_API_TOKEN が使用されます
--folder コネクターのプッシュ先となる Workato ワークスペース内のフォルダーの ID。デフォルトではワークスペースのホームフォルダーが想定されていますが、任意のフォルダーを使用できます。

フォルダー ID は、フォルダーを表示するときの URL に含まれています。たとえば、URL が https://app.workato.com/?fid=106070#assets の場合、フォルダー ID は 106070 です。
-t または --title コネクターのタイトル。指定されない場合は、デフォルトでコネクターコード内の title キーが使用されます。
-d または --description コネクターの説明のパス。Markdown ファイルまたはプレーンテキストファイルを使用できます。指定されない場合は、デフォルトで README.md が使用されます。
-l または --logo コネクターのロゴの png または jpeg へのリンク。指定されない場合は、デフォルトで logo.png が使用されます。
-n または --notes 今回アップロードするバージョンに添付されるバージョンノート。
-c または --connector コネクターのソースコードのパス。指定されない場合は、デフォルトで connector.rb が使用されます。
--environment コネクターコードをプッシュするためのデータセンター固有の URL。定義されない場合、デフォルトで環境変数 WORKATO_BASE_URL が使用されます。 例: 'https://app.workato.com'、'https://app.eu.workato.com'

# 結果

コネクターが Workato ワークスペースの指定されたフォルダーへプッシュされます。

#

$ workato push


Last updated: 2023/12/20 23:22:08