ハウツーガイド - CLIでのmethodの実行

このページは機械翻訳により提供されています。翻訳内容と英語版に相違がある場合は、英語版が優先されます。

このセグメントでは、Workato Gemを使用してmethodを実行する方法について説明します。

前提条件

  • Workato SDK Gemをインストール済みで、実行できること。 詳細については、はじめにガイドを参照してください。
  • 少なくとも1つのメソッドがある動作中のコネクター。 以下に示すサンプルコネクターを使用すること。
  • 動作する認証情報のセットがあること。 サンプルコネクタコードを使用している場合は、そのコネクタに適した認証情報があることを確認してください。

サンプルコネクタ - Chargebee

connector.rb内のコード。

ruby
{
  title: 'Chargebee-demo',

  connection: {
    fields: [
      {
        name: 'api_key',
        control_type: 'password',
        hint: 'You can find your API key final change3' \
          "under 'Settings'=>'Configure Chargebee'=>'API Keys and Webhooks'" \
          " in Chargebee's web console.",
        label: 'Your API Key'
      },
      {
        name: 'domain',
        control_type: 'subdomain',
        url: 'chargebee.com'
      }
    ],

    authorization: {
      type: 'basic_auth',

      apply: lambda do |connection|
        user(connection['api_key'])
      end
    },

    base_uri: lambda do |connection|
      "https://#{connection['domain']}.chargebee.com"
    end
  },

  test: lambda do |_connection|
    get('/api/v2/plans', limit: 1)
  end,

  methods: {
    get_customers: lambda do
      get('/api/v2/customers')
    end,

    sample_method: lambda do |string1, string2|
      string1 + ' ' + string2
    end,
  },
}

settings.yaml.enc内の認証情報。

yaml
api_key: valid_api_key
domain: valid_domain

TIP

暗号化されたsettings.yamlファイルを使用している場合、ファイルを編集または作成するにはworkato edit <PATH>を使用する必要があります。 暗号化されたファイルの編集の詳細については、workato editを参照してください。

SDK Gemを使用すると、methodを個別に呼び出し、各methodの動作をより詳細に制御できます。

例1。 get_customersmethodの実行

前述の例のget_customersmethodには、宣言された入力引数がありません。 このmethodは顧客を取得し、SDK Gemが呼び出すとAPIレスポンスを返します。

shell
$ workato exec methods.get_customers
{
  "list": [
    {
      "customer": {
        "id": "abc",
        "first_name": "John",
        "last_name": "doe",
        "email": "[email protected]",
        "phone": "+100",
        "auto_collection": "on",
        "net_term_days": 0,
        "allow_direct_debit": false,
        "created_at": 1630848839,
        "taxability": "taxable",
        "updated_at": 1630848840,
        "locale": "en-US",
        "pii_cleared": "active",
        "resource_version": 1630848840782,
        "deleted": false,
        "object": "customer",
        "card_status": "valid",
        "promotional_credits": 0,
        "refundable_credits": 0,
        "excess_payments": 0,
        "unbilled_charges": 0,
        "preferred_currency_code": "SGD",
      }
    }
  ],
  "next_offset": "[\"1630848839000\",\"42903379\"]"
}

TIP

methodが実行されたときに送信されるHTTPリクエストの詳細なログを表示するには--verbose、関数の出力をJSONファイルに保存するには--outputなど、他のオプションも使用できます。

settings.yamlファイルが定義されていない場合、SDK GemはHTTPリクエストに使用するファイルとしてデフォルトのsettings.yaml.encファイルを想定します。

例2。 sample_methodmethodの実行

上記の例で取り上げる2つ目のmethodはsample_methodmethodで、2個の引数があります。 コマンドでargsを参照しており、これはfixturesフォルダに保存されたJSONファイルを指していることがわかります。 このファイルには、配列内の各インデックスが1つの引数に対応する配列を含める必要があります。

この例のfixtures/triggers/new_updated_object/customer_input_poll.jsonファイルには、次の内容が含まれています:

JSON
[
    "Hello",
    "world"
]

methodが実行される例を次に示します:

shell
$ workato exec methods.sample_method --args='fixtures/actions/search_customers/customer_config.json'
"Hello world"

TIP

methodが実行されたときに送信されるHTTPリクエストの詳細なログを表示するには--verbose、関数の出力をJSONファイルに保存するには--outputなど、他のオプションも使用できます。

settings.yamlファイルが定義されていない場合、SDK GemはHTTPリクエストに使用するファイルとしてデフォルトのsettings.yaml.encファイルを想定します。

最終更新日: