トラブルシューティング - 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などのオプションを使用してリクエストを確認し、--debugを使用してSDK Gemのスタックトレースを確認し、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で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. 以前に記録されたインタラクションが、コネクターが現在実行しようとしているインタラクションと一致しない場合があります。 これには、以前のアクセストークンの代わりに新しいアクセストークンが使用されているためにヘッダーが異なるなど、さまざまな理由が考えられます。 spec_helper.rbでVCR記録のマッチングを緩和できます。 詳細はこちら

例:spec_helper.rbを調整して、異なるAuthorization Headersを受け入れるようにVCRマッチングを緩和する

ruby
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: