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 1 commit into
Conversation
|
Preview deployment for your docs. Learn more about Mintlify Previews.
💡 Tip: Enable Workflows to automatically generate PRs for you. |
018440b to
98f1d66
Compare
…v1/v2 schema notes
98f1d66 to
128183e
Compare
|
Verification status (2026-05-21): 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-21): 3 confirmed / 3 contradicted / 0 ambiguous / 1 partial
Three contradictions to resolve before publishing. (1) The Source #1 —
|
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):