# トラブルシューティング - よくある質問 (FAQ)

ターミナルで workato コマンドを実行するとエラーになります

以下の項目をチェックしてください。

  1. まず、有効なバージョンの Ruby がインストールされていることを確認します。ターミナルで ruby -v と入力すると確認できます。Ruby のバージョンは、2.4.102.5.X、または 2.7.X である必要があります。推奨されるバージョンは 2.7.X です。
  2. SDK gem がインストールされていることを確認します。ターミナルで gem install workato-connector-sdk を実行すると確認できます。gem which workato-connector-sdk を使用して gem のインストール先を調べることもできます。
  3. コネクタープロジェクトで bundle install を実行し、依存関係にあるものすべてがインストールされていることを確認します。
  4. gemfile.lock を削除し、bundle install を実行します。
workato exec コマンドを実行するとエラーが発生します

コネクターが API 呼び出しから「400 Bad Request」レスポンスを受信した場合、このエラーが発生することがあります。リクエストを表示するには --verbose オプションを、SDK Gem のスタックトレースを調べるには --debug オプションを指定できます。また byebug を使用すれば、詳細なデバッグを行うことができます。

workato push コマンドを使用しようとするとエラーが発生します

workato push コマンドは、Workato 上でコネクターをリリースしようとします。コネクターに構文エラーがある場合、それがコマンドの出力で伝えられます。

Unable to publish custom adapter Chargebee Demo1: Syntax [["method require not allowed", 1, 0, 1, 16]] and Publish Can not publish adapter with code errors

ここでは1件のエラーがあり (ルート配列の1インデックスで示される)、エラーが行1位置0から行1位置16にあることを伝えています。

RSpec を実行すると、VCR が「there is an VCR::Errors::UnhandledHTTPRequestError:」と表示します

VCR は、spec_helper.rb での設定に基づき、HTTP リクエストを記録して照合を行います。RSpec が伝えている内容は、送信された HTTP リクエストを、これまで記録したデータと一致させることができないことを示しています。これにはいくつかの理由があります。

  1. secure を使用してコネクタープロジェクトを設定した場合、デフォルトの VCR 記録モードは none に設定されます。つまり、RSpec を実行すると、新しい HTTP のやり取りは記録されず、以前のものだけが再生されることになります。単体テストを実行して新しい HTTP のやり取りをすべて記録するには、コマンド VCR_RECORD_MODE=once bundle exec rspec を使用できます。
  2. 以前記録された HTTP のやり取りは、現在コネクターが実行しようとしている HTTP のやり取りと一致しない場合があります。これには、以前のアクセストークンが新しいものに変更されたことで異なるヘッダーになったなど、さまざまな理由が考えられます。spec_helper.rb で VCR 記録の一致条件を緩和させることができます。詳細については、こちら (opens new window) を参照してください。

例 : spec_helper.rb を調整することで、さまざまな認証ヘッダーを受け入れるように VCR の一致条件を緩和させることができます。

config.register_request_matcher :headers_without_user_agent do |request1, request2|
  request1.headers.except('User-Agent', 'Authorization') == request2.headers.except('User-Agent', 'Authorization')
end


Last updated: 2023/8/31 1:07:14