Claim

Jenkins Plugin Jenkins Plugin Installs

About this plugin

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

Usage

Installing and enabling the plugin

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.

Allow claiming of failed builds

To allow claiming of failed builds, add a Allow broken build claiming post-build action to your project.

The Claim build post-build action

Claiming a build

Steps Screenshot
Failed builds will then display a Claim it option. The "Claim it" action for a build
Upon clicking the Claim it link, a logged-in user can then claim the build. The claim details for a build
The build will then display the claim information, along with options to Drop the claim or Reassign it. The claim info for a build
The claim information will also be displayed on the Build History widget, with information about the claim. The claim history for a build

Allow claiming of failed tests

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.

The Claim test test result report feature

Claiming a test

Steps Screenshot
Failed tests will then display a Claim it option. The "Claim it" action for a test
Upon clicking the Claim it link, a logged-in user can then claim the test. The claim details for a test
The test will then display the claim information, along with options to Drop the claim or Reassign it. The claim info for a test
The claim information will also be displayed on the Test Result page, with a tooltipinformation about the claim. The claim history for a test
With checked Display claim actions in test results table setting, logged in users will see claim actions as new column on the Test Result page The claim actions on the test result page

Integration with Build Failure Analyzer

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.

The Claim menu when BFA is installed

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.

Pipeline integration

Allow claiming of broken builds

The plugin provides the property allowBrokenBuildClaiming() to allow claiming of failed builds.

Example:

pipeline {
    options {
        allowBrokenBuildClaiming()
    }

Allow claiming of failed tests

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'

Webhooks

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).

Limitations

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.

License

MIT License

More information

Changelog