ジョブエラー(レシピ実行エラー)
ジョブエラーは、レシピ実行エラーとも呼ばれ、通常はトリガーイベントが見つかり、ジョブが処理されているときに発生するため、レシピジョブエラーとして表示されます。 例外はトリガーエラーです。これは、レシピがトリガーイベントを取得できず、そのためジョブを作成しない場合に発生します。
トリガーエラー
トリガーエラーは、レシピがトリガーアプリをポーリングしてトリガーイベントを取得しようとしたものの、トリガーイベントの取得に失敗した場合に発生します。 トリガーイベントデータが取得されなかったため、レシピはそもそもジョブを作成しません。
次の表に、トリガーエラーのさまざまな理由とその解決方法を示します。
| トリガーエラーの理由 | 発生すること | 解決方法 |
|---|---|---|
| アプリコネクションが無効になり、レシピがトリガーイベントを取得するためにトリガーアプリへ正常に接続できない | 通常、401 unauthorizedエラーメッセージが発生します | トリガーアプリに正常に再接続する |
| 接続ユーザーにトリガーイベントを取得するための適切な権限がない | 通常、403 forbiddenメッセージが発生します | 接続ユーザーの権限を更新し、必要な読み取り/書き込み権限スコープを付与する |
| レシピが無効なAPI呼び出しを行う。たとえば、アプリ内のフィールド削除などのスキーマ変更がレシピに反映されていない場合です | 通常、スキーマエラーが発生します | スキーマエラーがあるレシピに対してスキーマ更新を実行する |
| レシピが、トリガーイベントの取得を待機している間にタイムアウトするAPI呼び出しを行います。 これは通常一時的なものであり、つまりAPIサーバーで一時的なダウンタイムが発生している可能性があります | 通常、タイムアウトエラーが発生します | 一時的な場合は、しばらくするとエラーが発生しなくなります。 エラーが繰り返し発生する場合は、レシピが失敗し続けているアプリのAPI稼働状況を確認するか、Workatoにお問い合わせください。 |
| トリガーフィルターのロジックが正しくありません。たとえば、null値を整数と照合している、文字列を数値と照合している場合です。 | 通常、Formulaエラーが発生します | レシピを正しく実行するには、トリガーフィルターを修正する必要があります。 有効なトリガーフィルターの詳細については、条件を参照してください。 |
実行時Formulaエラー
すべての入力フィールド(リスト入力フィールドを除く)は、テキストモードとFormulaモードを切り替えることができます。 レシピが開始された時点で設計時エラーが発生しなかったFormulaでも、レシピによって実際のデータが処理されるジョブ中に実行時エラーが発生する可能性があります。 実行時エラーの理由には、次のようなものがあります:
- データピルに値がなく
nilであり、そのデータピルに作用するFormulaがnull値で機能しない - Formulaが、設計時に検出されなかった無効な操作を実行しようとする。たとえば、数値を文字列(テキスト)で除算する
- Formulaが誤ったデータ型のデータピルに使用された。たとえば、配列データピルに
true?Formulaを使用する場合です
実行時の必須フィールド欠落
トリガーとアクションは通常、レシピで役立つように設定する必要があります。 たとえば、Zendesk組織を更新するには、少なくとも更新対象の組織のIDが必要です。 したがって、これはレシピの必須フィールドです。 レシピが開始された時点で設計時エラーが発生しなかった必須入力フィールドでも、フィールドの入力にデータピルが使用されている場合、レシピによって実際のデータが処理されるジョブ中にデータピルに値がないと、実行時エラーが発生する可能性があります。
タイムアウト
レシピがトリガーイベントを確認するかアクションを実行すると、Workatoは適切なアプリにリクエストを送信し、レスポンスを待機します。
このリクエストは、次の状況でタイムアウトする可能性があります:
- アプリがWorkatoに応答するまでに時間がかかりすぎ、トリガーまたはアクションでタイムアウトエラーが発生します。
- ジョブの実行に時間がかかりすぎ、タイムアウトエラーが発生します。
リクエストを送信するレシピがAPIレシピで、そのリクエストがタイムアウトした場合、ジョブは終了され、タイムアウトエラーは発生しません。 APIリクエストのレスポンス時間を管理するには、レシピに関連付けられたAPIエンドポイントを編集してタイムアウト値をカスタマイズできます。
エラー監視
APIレシピにエラーの処理ステップが含まれる場合、レシピジョブは終了されるため、APIリクエストがタイムアウトしてもMonitoringブロックはトリガーされません。 その結果、Errorブロック内のアクションは実行されません。
入力フィールドへの誤ったデータ型の渡し方
入力フィールドに使用されるデータピルのデータ型が、入力フィールドで想定されていないことがあります。たとえば、数値(12.50)を想定する入力フィールドに文字列("12.50")を渡す場合です。 これは設計時には検出されない場合がありますが、この文字列を渡されたアプリが、想定外のデータ型を受信したときにエラーをスローする可能性があります。
これを解決するには、文字列、数値、日付、またはリストのドキュメントを参照し、データ型変換にFormulaを使用できます。
Last updated: