The claim plugin is meant to allow users to claim failing builds and tests from Jenkins to signal they are taking responsibility in fixing them.
Supported features
- Claiming failed builds.
- Claiming failed tests.
- Marking claims as sticky, so that future failing builds or tests will keep the declared claim
- Ensuring claim propagate to following builds, if claim is not done on the last build
- Running a Groovy script on claim
- Integrating with Build Failure Analyzer plugin to describe claims using BFA knowledge base
- Integrating with Mailer plugin to notify claims by mail
The Claim plugin can be installed from any Jenkins installation connected to the Internet using the Plugin Manager screen.
You can then access the Manage Jenkins > Configure System > Claim section to configure global settings and default options for the plugin.
To allow claiming of failed builds, add a Allow broken build claiming post-build action to your project.
To allow claiming of failed tests, add a Allow claiming of failed test additional test report features to your test results report post-build action. Optional, check Display claim actions in test results table to allow direct claiming from the test results pages.
This feature is supported from v2.8 forward.
Given the Build Failure Analyzer plugin is installed and enabled, users can use failure causes stored in the BFA plugin knowledge base to describe their claim, and this cause will be stored with the claimed build or test.
To claim a build with a failure cause:
Upon claiming the build, the "Error" drop-down will be populated with all failure causes defined in the knowledge base. Selecting a failure cause will update the "Description" field with the cause description By default, selecting "None" will result in the default claim plugin behaviour. If there are already failure causes automatically detected by BFA, the claimed cause will be added to the list of identified problems. Claiming without a failure cause selected will result in no additional causes specified under "Identified Problems" The user may also input a claim reason, which is saved in the claim report as per default functionality.
The plugin provides the property allowBrokenBuildClaiming() to allow claiming of failed builds.
Example:
pipeline {
options {
allowBrokenBuildClaiming()
}
A pipeline job needs to be configured with ClaimTestDataPublisher as JUnit testDataPlublisher to allow claiming of failed tests.
Example:
junit testDataPublishers: [[$class: 'ClaimTestDataPublisher']], testResults: '**/target/*-reports/TEST*.xml'
To show claim actions directly on the test results page, the displayClaimActionsInTestResultsTable option can be added.
Example:
junit testDataPublishers: [[$class: 'ClaimTestDataPublisher', displayClaimActionsInTestResultsTable: true]], testResults: '**/target/*-reports/TEST*.xml'
Under Manage Jenkins → System → Claim (Webhooks) you can add any number of webhooks that are notified when a test or build is claimed or unclaimed. Each webhook can be enabled/disabled, restricted to claim and/or unclaim events, restricted to tests and/or builds, given a timeout, and protected by an optional secret. The Test webhook button sends a test event.
A JSON POST is sent per claimed/unclaimed item (claiming several tests produces one event per test):
{
"event": "claimed", "type": "test", "job": "folder/job", "build": 42,
"buildUrl": "https://jenkins/job/x/42/", "test": "junit/pkg/Class/method",
"testUrl": "https://jenkins/job/x/42/testReport/...",
"claimedBy": {"id": "alice", "name": "Alice"}, "triggeredBy": {"id": "bob", "name": "Bob"},
"reason": "...", "sticky": true, "propagated": false, "timestamp": "2026-11-11T10:00:00Z"
}
If a secret is set, the body is signed with HMAC-SHA256 and sent as X-Claim-Signature: sha256=<hex>. Delivery is asynchronous and best effort: failures (timeouts, errors, non-2xx answers) are only logged and never affect the claim. Claims that are propagated to following builds or carried over to new builds do not send additional events.
Delivery guarantees: Events are queued in memory and sent best effort. There is no retry and no persistence, so events are lost if Jenkins restarts or shuts down, or if more than 100 events are pending. Do not assume at-least-once delivery.
Verifying messages: If a secret is set, verify X-Claim-Signature (HMAC-SHA256 of the raw request body). The JSON body contains a timestamp that is covered by the signature, so receivers can reject messages whose timestamp is too old and deduplicate if needed to protect against replays.
Security note: Webhook URLs are configured by administrators. Webhooks can reach every host the Jenkins controller can reach (including internal addresses), and the Test webhook button shows the status code or error. Redirects are not followed. Webhook URLs are never logged in full (only scheme, host and port).
As the plugin uses a post build action to allow claiming, build or tests marked as failed prior to enabling the plugin will not have any claim action proposed.











