アドオンパートナーのイベント通知
最終更新日 2024年02月06日(火)
Table of Contents
このシステムは非推奨です。代わりに Webhook を使用してください。
アドオンパートナーは、アドオンがインストールされているアプリで発生する特定のイベント通知の受信にオプトインできます。このドキュメントでは、さまざまなイベントタイプ、それらにオプトインする方法、およびそれぞれで期待できる内容の概要について説明します。
イベント通知へのオプトイン
イベント通知をマニフェスト内の requires
配列に追加することによって、任意のイベント通知にオプトインできます。たとえば、デプロイ通知を購読する場合は、次の内容が反映されるようにマニフェストを更新します。
{
"requires": ["deploy_notify", ...]
}
リクエストの構造
通知がトリガーされると、それにより次の URI にイベントが送信されます。
POST /heroku/resources/:id/events
このエンドポイントは、プロビジョニング API での他のエンドポイントと同様に機能します。id
は、アドオンをプロビジョニングしたときに Heroku に送り返した ID です。リクエスト本体の形式は次のとおりです。
{
"heroku_id": "<app heroku id>",
"event": "<event type>",
"detail": {
<event specific data>
}
}
イベントタイプ
デプロイ通知
デプロイ通知は、ユーザーがアプリを再デプロイしたときにトリガーされます。
requires のフラグ
deploy_notify
リクエストのペイロード
{
"heroku_id": "app123@heroku.com",
"event": "deploy",
"detail": {
"app": "deploying-furiously-42",
"user": "jane@somedomain.com",
"url": "http://deploying-furiously-42.herokuapp.com",
"head": "441e20",
"head_long": "441e204ea9f2ddeb4fcdd7f641e6c7240ffb8b91",
"prev_head": "953fd37b50c1382a9b7364364791e9be7e6efc71",
"git_log": "441e204 Merge pull request #1253 from janedoe/make-it-rain
b980268 Awesome new feature
953fd37 Merge pull request #1248 from janedoe/quick-bug-fix
eb9d86d Missing something simple
4c15970 Merge pull request #1249 from janedoe/better-commit-messages-required"
}
}
アタッチメント通知
アタッチメント通知は、ユーザーがアプリにアドオンをアタッチしたときに発生します。これには、同じアプリにアタッチする場合 (many_per_app
の場合) と、別のアプリにアタッチする場合 (attachable
の場合) があります。
アドオンをアタッチ可能にする方法についての詳細は、「アドオンを共有可能にする」の記事を確認してください。
requires のフラグ
attach_notify
リクエストのペイロード
アタッチメントが追加された場合
{
"heroku_id": "app123@heroku.com",
"event": "attach",
"detail": {
"id": "01234567-89ab-cdef-0123-456789abcdef",
"name": "MYADDON_CYAN",
"log_token": "d.01234567-89ab-cdef-0123-456789abcdef",
"resource": {
"id": "01234567-89ab-cdef-0123-456789abcdef",
"name": "writing-nobly-1234"
},
"app": {
"id": "01234567-89ab-cdef-0123-456789abcdef",
"name": "example"
}
}
}
アタッチメントが削除された場合
{
"heroku_id": "app123@heroku.com",
"event": "detach",
"detail": {
"id": "01234567-89ab-cdef-0123-456789abcdef",
"name": "MYADDON_CYAN",
"log_token": "d.01234567-89ab-cdef-0123-456789abcdef",
"resource": {
"id": "01234567-89ab-cdef-0123-456789abcdef",
"name": "writing-nobly-1234"
},
"app": {
"id": "01234567-89ab-cdef-0123-456789abcdef",
"name": "example"
}
}
}
log_token
はオプションであり、特定のパートナーのみが使用できます。アドオンにログアクセスが必要な場合は、当社のパートナーチームに連絡してください。次のリンクは、Heroku の Logplex システムとの統合に関するより詳細な情報を提供します。
レスポンス
通知を受信したことを確認するには、サービスは 200 ステータスコードで応答する必要があります。成功したレスポンスを受信しない場合は、リクエストを数回再試行します。