Webhook のトラブルシューティング
Webhook をトリガーする操作を実行しても Webhook が機能しない場合、[リクエスト ログ] および [リクエストの詳細] ページを使用して、問題について確認できます。
許可リストに追加する Bitbucket Cloud IP アドレスに関する知識が必要となる場合があります。
リクエスト ログ
Webhook が正しくトリガーされたかどうか分からない場合は、リクエストの詳細を確認できます。Webhook の一覧から [リクエストを表示する] リンクをクリックしてログ ページを開くと、その Webhook の最近のリクエストと、各リクエストによって返された内容を確認できます。
- リクエストの表示: クリックしてこの Webhook のリクエストを表示します。
Webhook のリクエスト ログの一覧のページが表示されます。ページを更新して新しいリクエストを表示するには、[新しいリクエストのロード] ボタンをクリックします。
- イベント: Webhook をトリガーしたイベントを一覧表示します。
- リクエスト時刻: イベントが発生した時刻を示します。
- 詳細を表示: クリックしてイベント リクエストの詳細を表示します。
- ステータス: リクエストの出力と応答時間 (ミリ秒単位) を表示します。
Bitbucket がリクエストを送信すると、ログではリクエストの結果が次のいずれかの形式で表示されます。
- HTTP ステータス コード
- TIMEOUT: 接続前にリクエストがタイムアウトした場合
- NETWORK ERROR: リクエストが接続できない場合
イベントの後に送信される各リクエストでリクエストが 30 回連続で失敗またはタイムアウトした場合、Webhook が無効化されます (30 回には初回試行のみを考慮し、イベントの追加試行は考慮されません)。Webhook が無効化されたら、Webhook の [編集] をクリックし、[アクティブ] を選択して Webhook を再アクティブ化できます。手動で追加された Webhook のみが非アクティブ化され、読み取り専用またはフックの接続は対象外です。
ペイロード応答のステータス コードが 500 ~ 599 の範囲だった場合、Bitbucket は最大で 2 回のリクエストを自動的に再送します。10 秒間が経過してもリクエストに対する応答が Bitbucket に到達しない場合、それ以降はリクエストの送信は行われません。イベントが複数回試行された場合、リクエスト ログにはそれぞれの試行に対する詳細が含まれます。
イベント リクエストに対して実行された試行の回数を確認したい場合、[詳細を表示] をクリックし、[リクエスト試行回数] の数を探します。これには、自動試行の回数と、[リクエストの詳細] ページから行った手動試行の回数が含まれます。この数字は各リクエストの X-Attempt-Number
HTTP ヘッダーにも記載されています。
リクエストの詳細
ログに記録されたイベントの横にある [詳細の表示] リンクをクリックすると、そのリクエスト イベントの詳細、Bitbucket がサーバーに送信するイベント ペイロードとヘッダー、およびサーバーが Bitbucket に送信する応答とヘッダーを表示できます。
このページで [リクエストの再送信] ボタンをクリックして、別の試行を開始できます。Webhook URL が過去にダウンしている場合、リクエストを再送信することで、機能しているかどうかを確認することができます。また、このボタンを使用して、Webhook をトリガーする手順を踏まずに変更をテストすることもできます。試行と試行の間に Webhook URL を更新した場合、Bitbucket は以前の試行時の URL ではなく更新後の URL にリクエストを送信します。
- イベントの詳細: Webhook をトリガーしたイベント、発生時刻、およびこれまでの試行回数。
- 再送ボタン: クリックして Webhook URL へリクエストを再送します。
- 試行タブ: トリガーされたイベントに対して Bitbucket がペイロードを送受信した各試行の詳細を表示します。
[リクエスト ヘッダー] と [リクエスト本文] タブに表示される説明については、[イベント ペイロード] を参照してください。エラーが原因でサーバーから Bitbucket に応答を送信できない場合、[応答ヘッダー] および [応答本文] タブは表示されません。