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