Each event is sent as an HTTP POST with Content-Type: application/json and the headers:

Fields without a value (e.g. reason) are omitted. Any 2xx answer counts as success. Claiming several tests sends one event per test.

{
  "event": "claimed",              // "claimed" | "unclaimed"
  "type": "test",                  // "test" | "build"
  "jenkinsUrl": "https://jenkins.example.com/",
  "job": "folder/my-job",
  "build": 42,
  "buildUrl": "https://jenkins.example.com/job/folder/job/my-job/42/",
  "test": "junit/pkg/MyClass/myMethod",   // only for type "test"
  "testUrl": "https://jenkins.example.com/job/folder/job/my-job/42/testReport/junit/pkg/MyClass/myMethod",
  "claimedBy":   { "id": "alice", "name": "Alice A." },  // on "unclaimed": the previous claimant
  "triggeredBy": { "id": "bob",   "name": "Bob B." },    // user who claimed/assigned/unclaimed
  "reason": "Known flaky, see TICKET-123",
  "sticky": true,
  "propagated": false,             // true if the claim is also applied to following builds
  "timestamp": "2026-11-11T10:00:00Z"
}

The Test webhook button sends:

{ "event": "test", "message": "Test event from the Jenkins Claim plugin", "jenkinsUrl": "https://jenkins.example.com/" }