トラブルシューティング - FAQ
ターミナルでworkatoコマンドを実行するとエラーが発生する
確認する項目の簡単なチェックリストを次に示します:
- まず、有効なバージョンのrubyがインストールされていることを確認します。 これを行うには、ターミナルに
ruby -vと入力します。 rubyのバージョンは2.4.10、2.5.X、または2.7.Xである必要があります。 推奨バージョンは2.7.Xです。 - SDK gemがインストールされていることを確認します。 これを行うには、ターミナルで
gem install workato-connector-sdkを実行します。gem which workato-connector-sdkを使用して、gemがインストールされている場所を確認することもできます。 - コネクタープロジェクトで
bundle installを実行し、すべての依存関係がインストールされていることを確認します。 - 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リクエストが、記録済みのどのリクエストとも一致しないということです。 これにはいくつかの理由があります:
secureを使用してコネクタープロジェクトを設定した場合、デフォルトのVCR記録モードはnoneに設定されます。 つまり、RSpecを実行しても新しいHTTPインタラクションは記録されず、以前のインタラクションだけが再生されます。 単体テストを実行してすべての新しいHTTPインタラクションを記録するには、VCR_RECORD_MODE=once bundle exec rspecコマンドを使用できます。- 以前に記録されたインタラクションが、コネクターが現在実行しようとしているインタラクションと一致しない場合があります。 これには、以前のアクセストークンの代わりに新しいアクセストークンが使用されているためにヘッダーが異なるなど、さまざまな理由が考えられます。
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')
endLast updated: