Rewrite webhooks reference with event lifecycle and v1/v2 schema notes#52
Rewrite webhooks reference with event lifecycle and v1/v2 schema notes#52samgutentag wants to merge 2 commits into
Conversation
|
Preview deployment for your docs. Learn more about Mintlify Previews.
💡 Tip: Enable Workflows to automatically generate PRs for you. |
98f1d66 to
128183e
Compare
|
Verification status (2026-05-26): Could not determine rollout state from available signals. Chaining to
This is a content-accuracy PR, not a feature-rollout PR. The seven "items flagged for review" in the PR body (event name, enum values, bisection lifecycle, timestamp absence, quarantining triggers, |
|
Code verification (2026-05-26) Re-verification. No new commits since last check (2026-05-21). The 3 contradictions identified previously remain unresolved in the current diff. Claims checked:
Contradictions still present (unchanged since 2026-05-21):
Verdict: |
…v1/v2 schema notes
Three contradictions caught by source verification (see PR comment 4505684245): - pull_request.queued field is queued_reason, not bare reason. The whole event family uses <state>_reason (queued_reason, failure_reason, merged_reason, cancellation_reason, submitted_reason). - Payloads do include an ISO 8601 timestamp field; rewrite the "no timestamp" section to point readers at the actual field and explain why receive-time is unsafe (retries, out-of-order delivery). - v2.test_case.status_changed uses top-level new_status (and previous_status), not nested status_change.current_status from v1. Simplify the quarantine example to v2 only and use the correct field name and string casing. Plus: - Quarantining enum strings on test_case.quarantining_setting_changed are ALWAYS_QUARANTINE / NEVER_QUARANTINE (not bare ALWAYS / NEVER). - Cross-link from flaky-tests/webhooks/index.mdx to the Merge Queue webhooks page is wrapped in an <Info> callout for prominence. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
128183e to
55fb2b0
Compare
Summary
merge-queue/webhooks.mdx(previously a near-empty stub deferring to Svix) into a real reference covering subscription families, event lifecycle, batch behavior, payload caveats, v1/v2test_case.status_changed, quarantining events, and AI investigation events.flaky-tests/webhooks/index.mdxto the Merge Queue webhooks page so integrators landing on either side find the other.Why
Sourced from customer feedback mining (cluster
webhook-event-lifecycle, verdictmissing, 11 pairs across 7 customers). The currentwebhooks.mdxis a stub that defers to Svix; customers integrating against Trunk webhooks hit recurring confusion on batch vs PR lifecycle, v1/v2 schema, bisection semantics, and event-subscription requirements.Items flagged for review
v2.test_case.status_changednaming — used the literal event name based on the Brex/Healthie Slack replies and the existingflaky-tests/webhooks/index.mdxpage. Confirm this matches the Svix catalog exactly.pull_request.queuedreasonfield enum — claimsBISECTION_REQUIRED(entering) andBISECTION_TEST_RUN_PASSED(returning). Pulled verbatim from the Faire thread; confirm these are the exact enum strings in the live payload.pull_request.queuedevents don't necessarily map back to the originalpending_failure). Confirm phrasing matches actual queue behavior.flaky-tests/webhooks/index.mdxpayload tables listtimestampas an ISO 8601 field forv2.test_case.status_changed, but the AgencyAnalytics thread says payloads have no timestamp. One of the two is wrong — flagging so the right one stays.test_case.quarantining_setting_changedfires only for manualALWAYS/NEVERoverrides, not auto-quarantine. Pulled from the Descript thread; confirm there isn't a third trigger.current_status == FLAKYcheck — taken verbatim from the Descript reply. Confirm the field is literallycurrent_status(notnew_statusorstatus) on thetest_case.status_changedpayload.flaky-tests/get-test-detailsAPI path — linked toapi.trunk.io/docs#tag/flaky-testsas a best guess. Confirm the actual API reference URL.support@trunk.ioper global memory (no community Slack for support). The siblingmigrating-from-github-merge-queue.mdxstill uses the old Slack link — separate cleanup pass if desired.Customer signal
webhook-event-lifecycle(verdict: missing, 11 pairs / 7 customers)findings/clusters/webhook-event-lifecycle.json):