概要
Webhookを使用すると、組織内で重要なイベントが発生した際にHTTP通知を受け取ることができます。APIをポーリングする代わりに、URLを登録すると、Jinba Toolboxがリアルタイムでイベントペイロードをプッシュします。 Webhookは組織ごとに設定され、1つ以上のイベントタイプをサブスクライブできます。イベントタイプ
Webhookの設定
1
Webhookエンドポイントを作成する
サーバー上にPOSTリクエストを受信できるHTTPエンドポイントを設定します。エンドポイントは受信確認として
2xx ステータスコードを返す必要があります。2
Webhookを登録する
APIまたはWebコンソールを使用して、エンドポイントURLを登録し、サブスクライブするイベントを選択します。
3
署名シークレットを保存する
Webhookを作成すると、署名シークレットが生成されます。安全に保存してください。受信ペイロードの検証に使用します。
4
テストイベントを送信する
テストイベントを送信して、エンドポイントが正しく動作することを確認します:
Webhook設定
各Webhookには以下のプロパティがあります:ペイロード形式
すべてのWebhook配信は、以下の構造のJSONペイロードを送信します:イベント固有のペイロード
tool.run.completed
tool.run.failed
toolset.published
member.added
署名の検証
すべてのWebhookリクエストには、Webhook署名シークレットを使用してリクエストボディから計算されたHMAC-SHA256署名を含むX-Webhook-Signature ヘッダーが付与されます。
Webhook管理API
リトライ動作
エンドポイントが2xx ステータスコードを返さない場合、Jinba Toolboxは配信をリトライします:
3回連続で失敗すると、Webhookは自動的に無効化されます。根本的な問題が解決されたら、WebコンソールまたはAPIから手動で再有効化できます。
ベストプラクティス
- ペイロードを処理する前に必ず署名を検証する — 改ざんを防止するためです。
200ステータスを速やかに返す — Webhookの確認応答後に、重い処理は非同期で実行してください。- 冪等な処理を実装する — リトライにより、Webhook配信が複数回届く可能性があります。
runIdやイベントタイムスタンプを使用して重複排除してください。 - Webhookの健全性を監視する — 無効化されたWebhookは速やかに再有効化し、配信失敗を調査してください。
- 必要なイベントのみサブスクライブする — 統合に必要なイベントだけを選択して、ノイズを減らしてください。
関連ドキュメント
- REST API — 完全なエンドポイントリファレンス
- セキュリティとアクセス制御 — 認証と認可の詳細