This is the list of event types that we currently send.
For guidance on how to listen to these events, take a look at Svix's guide to consuming webhooks.
{
"etl_end": "2025-04-16T05:45:00",
"org_id": "88d80d09-2f0f-439a-b07f-1efed7cc3a67",
"pr": 1004,
"repo_id": "31c8d0a8-8641-4379-9ac7-9b3c8590dc04",
"repo_name": "github.com/trunk-io/plugins",
"total_num_error": 0,
"total_num_failure": 11,
"total_num_failure_not_quarantined_broken": 0,
"total_num_failure_not_quarantined_flaky": 3,
"total_num_failure_not_quarantined_healthy": 7,
"total_num_failure_quarantined": 1,
"total_num_quarantined": 1,
"total_num_skipped": 14,
"total_num_success": 157
}The type of action that triggered the webhook
The username of the author of the PR
Whether this pull request was part of a batch
Web link to the details about this PR
The PR number
The repository that the webhook event occurred in
3 Items
The current status of the PR
The name of the branch targeted by the merge queue where the event occurred
The branch the pull request or pull request batch was tested on
The SHA of the branch the pull request or pull request batch was tested on
The number of the pull request used to test the pull request or pull request batch
The ISO 8601 timestamp of when this state transition occurred
The type of webhook event that occurred
{
"action": "canceled",
"author": "mmatheson",
"batched": false,
"http_details_url": "https://app.trunk.io/gh/trunk-io/mergequeue/merge/main/8762",
"pr_number": 1234,
"repository": {
"host": "github.com",
"name": "mergequeue",
"owner": "trunk-io"
},
"status": "canceled",
"target_branch": "main",
"test_branch": "trunk-merge/pr-1-2/abc123",
"test_branch_sha": "a23f8853080d3fe873c3419a735513898c2329f500ce6aa39cf2253213fd00e4",
"test_pr_number": 15
}The type of action that triggered the webhook
The username of the author of the PR
Whether this pull request was part of a batch
The reason the PR failed
Web link to the details about this PR
The PR number
The repository that the webhook event occurred in
3 Items
The current status of the PR
The name of the branch targeted by the merge queue where the event occurred
The branch the pull request or pull request batch was tested on
The SHA of the branch the pull request or pull request batch was tested on
The number of the pull request used to test the pull request or pull request batch
The ISO 8601 timestamp of when this state transition occurred
The type of webhook event that occurred
{
"action": "failed",
"author": "mmatheson",
"batched": false,
"failure_reason": "TEST_RUN_REQUIRED_STATUS_FAILED",
"http_details_url": "https://app.trunk.io/gh/trunk-io/mergequeue/merge/main/8762",
"pr_number": 1234,
"repository": {
"host": "github.com",
"name": "mergequeue",
"owner": "trunk-io"
},
"status": "failed",
"target_branch": "main",
"test_branch": "trunk-merge/pr-1-2/abc123",
"test_branch_sha": "a23f8853080d3fe873c3419a735513898c2329f500ce6aa39cf2253213fd00e4",
"test_pr_number": 15
}The type of action that triggered the webhook
The username of the author of the PR
Whether this pull request was part of a batch
Web link to the details about this PR
The PR number
The repository that the webhook event occurred in
3 Items
The current status of the PR
The name of the branch targeted by the merge queue where the event occurred
The branch the pull request or pull request batch was tested on
The SHA of the branch the pull request or pull request batch was tested on
The number of the pull request used to test the pull request or pull request batch
The ISO 8601 timestamp of when this state transition occurred
The type of webhook event that occurred
{
"action": "merged",
"author": "mmatheson",
"batched": false,
"http_details_url": "https://app.trunk.io/gh/trunk-io/mergequeue/merge/main/8762",
"pr_number": 1234,
"repository": {
"host": "github.com",
"name": "mergequeue",
"owner": "trunk-io"
},
"status": "merged",
"target_branch": "main",
"test_branch": "trunk-merge/pr-1-2/abc123",
"test_branch_sha": "a23f8853080d3fe873c3419a735513898c2329f500ce6aa39cf2253213fd00e4",
"test_pr_number": 15
}The type of action that triggered the webhook
The username of the author of the PR
Whether this pull request was part of a batch
The reason the PR is pending failure
Web link to the details about this PR
The PR number
The repository that the webhook event occurred in
3 Items
The current status of the PR
The name of the branch targeted by the merge queue where the event occurred
The branch the pull request or pull request batch was tested on
The SHA of the branch the pull request or pull request batch was tested on
The number of the pull request used to test the pull request or pull request batch
The ISO 8601 timestamp of when this state transition occurred
The type of webhook event that occurred
{
"action": "pending_failure",
"author": "string",
"batched": true,
"failure_reason": "string",
"http_details_url": "http://example.com",
"pr_number": 0,
"repository": {
"host": "string",
"name": "string",
"owner": "string"
},
"status": "pending_failure",
"target_branch": "string",
"test_branch": "string",
"test_branch_sha": "string",
"test_pr_number": 0,
"timestamp": "2019-08-24T14:15:22Z",
"type": "pull_request.pending_failure"
}The type of action that triggered the webhook
The username of the author of the PR
Web link to the details about this PR
The PR number
The repository that the webhook event occurred in
3 Items
The current status of the PR
The name of the branch targeted by the merge queue where the event occurred
The ISO 8601 timestamp of when this state transition occurred
The type of webhook event that occurred
{
"action": "queued",
"author": "string",
"http_details_url": "http://example.com",
"pr_number": 0,
"repository": {
"host": "string",
"name": "string",
"owner": "string"
},
"status": "queued",
"target_branch": "string",
"timestamp": "2019-08-24T14:15:22Z",
"type": "pull_request.queued"
}The type of action that triggered the webhook
The username of the author of the PR
Web link to the details about this PR
The PR number
The repository that the webhook event occurred in
3 Items
The current status of the PR
The name of the branch targeted by the merge queue where the event occurred
The ISO 8601 timestamp of when this state transition occurred
The type of webhook event that occurred
{
"action": "submitted",
"author": "string",
"http_details_url": "http://example.com",
"pr_number": 0,
"repository": {
"host": "string",
"name": "string",
"owner": "string"
},
"status": "submitted",
"target_branch": "string",
"timestamp": "2019-08-24T14:15:22Z",
"type": "pull_request.submitted"
}The type of action that triggered the webhook
The username of the author of the PR
Whether this pull request was part of a batch
Web link to the details about this PR
The PR number
The repository that the webhook event occurred in
3 Items
The current status of the PR
The name of the branch targeted by the merge queue where the event occurred
The branch the pull request or pull request batch was tested on
The SHA of the branch the pull request or pull request batch was tested on
The number of the pull request used to test the pull request or pull request batch
The ISO 8601 timestamp of when this state transition occurred
The type of webhook event that occurred
{
"action": "testing",
"author": "mmatheson",
"batched": false,
"http_details_url": "https://app.trunk.io/gh/trunk-io/mergequeue/merge/main/8762",
"pr_number": 1234,
"repository": {
"host": "github.com",
"name": "mergequeue",
"owner": "trunk-io"
},
"status": "testing",
"target_branch": "main",
"test_branch": "trunk-merge/pr-1-2/abc123",
"test_branch_sha": "a23f8853080d3fe873c3419a735513898c2329f500ce6aa39cf2253213fd00e4",
"test_pr_number": 15
}The type of action that triggered the webhook
The PR numbers of the pull requests in the batch
The PR numbers of all pull requests that were tested together in this batch. This may be a superset of pr_numbers if some PRs in the batch failed to merge.
The repository that the webhook event occurred in
3 Items
The current status of the Pull Request batch
The name of the branch targeted by the merge queue where the event occurred
The branch the pull request or pull request batch was tested on
The SHA of the branch the pull request or pull request batch was tested on
The number of the pull request used to test the pull request or pull request batch
The ISO 8601 timestamp of when this state transition occurred
The type of webhook event that occurred
{
"action": "canceled",
"pr_numbers": [
0
],
"pr_numbers_in_batch": [
0
],
"repository": {
"host": "string",
"name": "string",
"owner": "string"
},
"status": "canceled",
"target_branch": "string",
"test_branch": "string",
"test_branch_sha": "string",
"test_pr_number": 0,
"timestamp": "2019-08-24T14:15:22Z",
"type": "pull_request_batch.canceled"
}The type of action that triggered the webhook
The PR numbers of the pull requests in the batch
The PR numbers of all pull requests that were tested together in this batch. This may be a superset of pr_numbers if some PRs in the batch failed to merge.
The repository that the webhook event occurred in
3 Items
The current status of the Pull Request batch
The name of the branch targeted by the merge queue where the event occurred
The branch the pull request or pull request batch was tested on
The SHA of the branch the pull request or pull request batch was tested on
The number of the pull request used to test the pull request or pull request batch
The ISO 8601 timestamp of when this state transition occurred
The type of webhook event that occurred
{
"action": "failed",
"pr_numbers": [
0
],
"pr_numbers_in_batch": [
0
],
"repository": {
"host": "string",
"name": "string",
"owner": "string"
},
"status": "failed",
"target_branch": "string",
"test_branch": "string",
"test_branch_sha": "string",
"test_pr_number": 0,
"timestamp": "2019-08-24T14:15:22Z",
"type": "pull_request_batch.failed"
}The type of action that triggered the webhook
The PR numbers of the pull requests in the batch
The PR numbers of all pull requests that were tested together in this batch. This may be a superset of pr_numbers if some PRs in the batch failed to merge.
The repository that the webhook event occurred in
3 Items
The current status of the Pull Request batch
The name of the branch targeted by the merge queue where the event occurred
The branch the pull request or pull request batch was tested on
The SHA of the branch the pull request or pull request batch was tested on
The number of the pull request used to test the pull request or pull request batch
The ISO 8601 timestamp of when this state transition occurred
The type of webhook event that occurred
{
"action": "merged",
"pr_numbers": [
0
],
"pr_numbers_in_batch": [
0
],
"repository": {
"host": "string",
"name": "string",
"owner": "string"
},
"status": "merged",
"target_branch": "string",
"test_branch": "string",
"test_branch_sha": "string",
"test_pr_number": 0,
"timestamp": "2019-08-24T14:15:22Z",
"type": "pull_request_batch.merged"
}The type of action that triggered the webhook
The reason the batch is pending failure
The PR numbers of the pull requests in the batch
The PR numbers of all pull requests that were tested together in this batch. This may be a superset of pr_numbers if some PRs in the batch failed to merge.
The repository that the webhook event occurred in
3 Items
The current status of the Pull Request batch
The name of the branch targeted by the merge queue where the event occurred
The branch the pull request or pull request batch was tested on
The SHA of the branch the pull request or pull request batch was tested on
The number of the pull request used to test the pull request or pull request batch
The ISO 8601 timestamp of when this state transition occurred
The type of webhook event that occurred
{
"action": "pending_failure",
"failure_reason": "string",
"pr_numbers": [
0
],
"pr_numbers_in_batch": [
0
],
"repository": {
"host": "string",
"name": "string",
"owner": "string"
},
"status": "pending_failure",
"target_branch": "string",
"test_branch": "string",
"test_branch_sha": "string",
"test_pr_number": 0,
"timestamp": "2019-08-24T14:15:22Z",
"type": "pull_request_batch.pending_failure"
}The type of action that triggered the webhook
The PR numbers of the pull requests in the batch
The PR numbers of all pull requests that were tested together in this batch. This may be a superset of pr_numbers if some PRs in the batch failed to merge.
The repository that the webhook event occurred in
3 Items
The current status of the Pull Request batch
The name of the branch targeted by the merge queue where the event occurred
The branch the pull request or pull request batch was tested on
The SHA of the branch the pull request or pull request batch was tested on
The number of the pull request used to test the pull request or pull request batch
The ISO 8601 timestamp of when this state transition occurred
The type of webhook event that occurred
{
"action": "queued",
"pr_numbers": [
0
],
"pr_numbers_in_batch": [
0
],
"repository": {
"host": "string",
"name": "string",
"owner": "string"
},
"status": "queued",
"target_branch": "string",
"test_branch": "string",
"test_branch_sha": "string",
"test_pr_number": 0,
"timestamp": "2019-08-24T14:15:22Z",
"type": "pull_request_batch.queued"
}The type of action that triggered the webhook
The PR numbers of the pull requests in the batch
The PR numbers of all pull requests that were tested together in this batch. This may be a superset of pr_numbers if some PRs in the batch failed to merge.
The repository that the webhook event occurred in
3 Items
The current status of the Pull Request batch
The name of the branch targeted by the merge queue where the event occurred
The branch the pull request or pull request batch was tested on
The SHA of the branch the pull request or pull request batch was tested on
The number of the pull request used to test the pull request or pull request batch
The ISO 8601 timestamp of when this state transition occurred
The type of webhook event that occurred
{
"action": "submitted",
"pr_numbers": [
0
],
"pr_numbers_in_batch": [
0
],
"repository": {
"host": "string",
"name": "string",
"owner": "string"
},
"status": "submitted",
"target_branch": "string",
"test_branch": "string",
"test_branch_sha": "string",
"test_pr_number": 0,
"timestamp": "2019-08-24T14:15:22Z",
"type": "pull_request_batch.submitted"
}The type of action that triggered the webhook
The PR numbers of the pull requests in the batch
The PR numbers of all pull requests that were tested together in this batch. This may be a superset of pr_numbers if some PRs in the batch failed to merge.
The repository that the webhook event occurred in
3 Items
The current status of the Pull Request batch
The name of the branch targeted by the merge queue where the event occurred
The branch the pull request or pull request batch was tested on
The SHA of the branch the pull request or pull request batch was tested on
The number of the pull request used to test the pull request or pull request batch
The ISO 8601 timestamp of when this state transition occurred
The type of webhook event that occurred
{
"action": "testing",
"pr_numbers": [
0
],
"pr_numbers_in_batch": [
0
],
"repository": {
"host": "string",
"name": "string",
"owner": "string"
},
"status": "testing",
"target_branch": "string",
"test_branch": "string",
"test_branch_sha": "string",
"test_pr_number": 0,
"timestamp": "2019-08-24T14:15:22Z",
"type": "pull_request_batch.testing"
}Evidence supporting the monitor status change. Structure varies by monitor type.
0 Items
3 Items
2 Items
9 Items
The timestamp of the webhook event.
The type of webhook event.
{
"evidence": {
"failureCount": 1,
"runs": [
{
"conclusion": "SUCCESS",
"id": "f18a4e9a-c4fd-5d0f-b471-88c49d4b1039",
"timestamp": "2026-03-27T15:23:19.765Z"
},
{
"conclusion": "FAILURE",
"id": "5d15ef91-5304-5874-b0db-5ea9ae7fe241",
"timestamp": "2026-03-27T15:19:46.663Z"
}
],
"successCount": 1
},
"monitor": {
"id": "7f13b567-7f31-41e5-8842-ed66c1b79704",
"status": "active",
"type": "pass_on_retry"
},
"repository": {
"html_url": "https://github.com/trunk-io/flaky-tests",
"id": "1fe5d3b7-81e8-45fa-873b-09b8430f9e97"
},
"test_case": {
"classname": "flaky-tests-subheader.pwtest.ts",
"codeowners": [],
"file_path": "",
"html_url": "https://app.trunk.io/trunk/flaky-tests/test/d6516f41-5ab4-5fdb-9746-f114eeaa8f50/?repo=trunk-io%2Fflaky-tests",
"id": "d6516f41-5ab4-5fdb-9746-f114eeaa8f50",
"name": "flaky tests subheader › flaky tests subheader with repo selected",
"parent": "flaky-tests-subheader.pwtest.ts",
"quarantined": true,
"variant": ""
},
"timestamp": "2026-03-27T15:38:28.119Z",
"type": "test_case.monitor_status_changed"
}The quarantining setting that was changed
5 Items
17 Items
The type of webhook event that occurred
{
"quarantine_setting_changed": {
"actor": {
"email": "string",
"full_name": "string"
},
"previous_quarantining_setting": "UNSPECIFIED",
"reason": "string",
"timestamp": "2019-08-24T14:15:22Z",
"updated_quarantining_setting": "ALWAYS_QUARANTINE"
},
"test_case": {
"classname": "string",
"codeowners": [
"string"
],
"failure_rate_last_24h": 0,
"failure_rate_last_7d": 0,
"file_path": "string",
"html_url": "http://example.com",
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"most_common_failures": [
{
"last_occurrence": "2019-08-24T14:15:22Z",
"occurrence_count": 0,
"summary": "string"
}
],
"name": "string",
"parent": "string",
"pull_requests_impacted_last_7d": 0,
"quarantined": true,
"repository": {
"html_url": "http://example.com"
},
"status": {
"reason": "string",
"timestamp": "2019-08-24T14:15:22Z",
"value": "healthy"
},
"test_suite": "string",
"ticket": {
"html_url": "http://example.com"
},
"variant": "string"
},
"type": "test_case.quarantining_setting_changed"
}2 Items
17 Items
The type of webhook event that occurred
{
"status_change": {
"current_status": {
"reason": " Inconsistent results on main",
"timestamp": "2024-11-22T20:04:33.127Z",
"value": "flaky"
},
"previous_status": "healthy"
},
"test_case": {
"codeowners": [
"@backend"
],
"failure_rate_last_7d": 0.1,
"file_path": "trunk/services/__tests__/distributed_lock.test.js",
"html_url": "https://app.trunk.io/trunk/flaky-tests/test/77681877-1608-5871-bf95-e02f8baa5a9a?repo=trunk-io%2Fanalytics-cli",
"id": "2bfedccc-7fda-442c-bcf9-5e01c6d046d3",
"most_common_failures": [
{
"last_occurrence": "2024-11-22T20:04:33.127Z",
"occurrence_count": 42,
"summary": "timeout"
}
],
"name": "DistributedLock #tryLock default throws on double unlock",
"pull_requests_impacted_last_7d": 42,
"quarantine": true,
"repository": {
"html_url": "https://github.com/trunk-io/analytics-cli"
},
"status": {
"reason": " Inconsistent results on main",
"timestamp": "2024-11-22T20:04:33.127Z",
"value": "flaky"
},
"test_suite": "DistributedLock",
"ticket": {
"html_url": "https://trunk-io.atlassian.net/browse/KAN-130"
},
"variant": "linux-x86_64"
}
}The new status of the test case.
The previous status of the test case.
2 Items
9 Items
The timestamp of the webhook event.
3 Items
The type of webhook event.
{
"new_status": "FLAKY",
"previous_status": "HEALTHY",
"repository": {
"html_url": "https://github.com/trunk-io/flaky-tests",
"id": "a6ea3bad-a0a4-4366-9223-ac74efccb928"
},
"test_case": {
"classname": "ItsAlwaysSunnyOnEarth.Tests.AlwaysSunnyTest",
"codeowners": [],
"file_path": "",
"html_url": "https://app.trunk.io/trunk/flaky-tests/test/7461c36c-3ae2-5d3c-803b-0bdcfd875ee1/?repo=trunk-io%2Fflaky-tests",
"id": "7461c36c-3ae2-5d3c-803b-0bdcfd875ee1",
"name": "AlwaysSunnyTest.TestWeather_Beijing",
"parent": "ItsAlwaysSunnyOnEarth.Tests.dll",
"quarantined": false,
"variant": ""
},
"timestamp": "2026-03-27T12:28:40.695430+00:00",
"triggered_by": {
"monitor_id": "d6edf0b8-2f2b-4caf-8f36-038668585cf6",
"monitor_status": "active",
"monitor_type": "threshold"
},
"type": "v2.test_case.status_changed"
}