sentry: add 16 doc-sourced samples - #62
Merged
Merged
Conversation
Sentry Integration Platform webhooks. Bodies verbatim from the nine event pages on docs.sentry.io (via their getsentry/sentry-docs .mdx sources), harvested by webhook-registry harvest_sentry.py at 1215f4b. Topics are composed resource.action tokens; topic_identifier sentry-hook-resource. latest/, sourced_via docs. 13 documented events have no published body and are not included. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015kRW6XJtGqr2KESnYgmE64
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
This branch was successfully deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
New provider: Sentry Integration Platform webhooks. This is the last stage of the add-a-source pipeline. Before it came the skill (hookdeck/webhook-skills#212), the core source type (hookdeck/core#5771), the registry row (hookdeck/webhook-registry#85, with citation fixes in #86) and the check record (hookdeck/webhook-registry-checks#17).
Bodies: 16 complete example deliveries, verbatim from the nine event pages under docs.sentry.io/integrations/integration-platform/webhooks. They were read from the pages'
.mdxsources in getsentry/sentry-docs. No example on any of the nine pages elides an object, so every body is exported whole.Not included: 13 of the 29 documented event types have no published body. The docs give one example per resource, so the other actions of each resource are described in prose only:
updated,deleteddeletedresolved,assigned,unresolved,ignoredcritical,warning,openpr_ready_for_review,iteration_started,iteration_completedSwapping
actionon a sibling body would ship a payload Sentry never published.Topic names are composed:
resource.action(issue.created,event_alert.triggered,seer.pr_created). The body carries no event type. The resource travels only in theSentry-Hook-Resourceheader and the verb inbody.action. These are the tokens Sentry's own server enum (SentryAppEventType) uses.topic_identifier:sentry-hook-resource, matching the github precedent (resource in a header, verb inbody.action). There's a known limitation for future captures.requestReceiver.tsresolves one field, so a real Sentry delivery would be named by resource only (issue.json,seer.json), and all seven seer actions would land on one name. Naming these doc samples by header value would have collapsed 16 samples into 9 topics, so they're named by the composed token instead, and every file carries an explicittopic. Strava, the other composed-key provider here, took the opposite trade-off (topic_identifier: null). Either is defensible, and switching is a one-line change if you prefer that.Headers: synthesized:
content-typeandsentry-hook-resourceonly. Without the resource header, the body alone can't say what event it is.Sentry-Hook-Signature(an HMAC keyed with an integration's Client Secret),Request-IDandSentry-Hook-Timestampare per-delivery values that documentation can't supply.Version:
latest. Sentry has no webhook version scheme: no version header, no version field, no dated generations.Provenance:
latestissourced_via: docs,sourced_on: 2026-10-02. Each file carriessource.type: vendor-documentationand its page URL.Preserved verbatim:
metric_alert.resolved'sdata.description_textcontains a double-escaped newline (\\n) exactly as Sentry publishes it. I didn't normalise it.Checklist:
providers/sentryand noscripts/sentryharness, so no captures are displaced. Existing files changed: 0.harvest_sentry.pyat webhook-registry1215f4b) into a scratch tree is byte-identical to the committedsamples-doc/and to these files.yarn compilepasses: 148 → 149 providers, 16 sentry topics, no collisions.yarn test: 14/14 passed.verify.py: FAIL (0).Evidence and non-assertions are in hookdeck/webhook-registry#85.
🤖 Generated with Claude Code
https://claude.ai/code/session_015kRW6XJtGqr2KESnYgmE64