This plugin publishes checks to GitHub through GitHub Checks API. It implements the extension points defined in Checks API Plugin.
This plugin has been installed, along with the Checks API Plugin on ci.jenkins.io to help maintain over 2000 Jenkins plugins. You can take a look at the check runs for this repository or other plugin repositories under Jenkins organization for the results.
Only GitHub Apps with proper permissions can publish checks, this guide helps you authenticate your Jenkins instance as a GitHub App. The permission read/write on Checks needs to be granted in addition to the ones already mentioned in the guide.
This plugin implements the status checks feature from Checks API Plugin to publish statuses (pending, in progress, and completed) to GitHub.
You can customize it by configuring the "Status Checks Properties" behavior for your GitHub SCM Source or Git SCM projects:
Note: If you are using GitHub Branch Source Plugin, it will also send status notifications to GitHub through Status API. You can disable those notifications by configuring Skip GitHub Branch Source notifications option.
GitHub attaches a check run to one commit SHA. Required status checks on a pull request only look at the PR head (refs/pull/<id>/head), not at GitHub's temporary merge commit (refs/pull/<id>/merge).
How this plugin chooses that SHA depends on the SCM:
| SCM | SHA used for the check |
|---|---|
| GitHub Branch Source | The pull request head SHA. Building the merge of the PR into the target branch still publishes the check on the head commit, so it shows on the PR. |
Git plugin (GitSCM) |
GIT_COMMIT / the last built revision — whatever you actually checked out. |
If a Git SCM job uses branch specifier origin/pull/4/merge (or refs/pull/4/merge), the workspace is GitHub's merge commit and the check is created on that SHA. GitHub does not treat that as the PR head, so the check does not appear on the pull request.
To have the check show on the PR with Git SCM, check out the head ref instead:
origin/pull/4/head
or refs/pull/4/head. There is no separate option in this plugin to publish against the head while the build itself uses the merge commit.
If you need both (build the merge, report on the head), use GitHub Branch Source rather than a raw Git SCM branch specifier.
If your Jenkins build failed, a failed check will be published here. A "Re-run" button will be added automatically by GitHub, by clicking it, you can schedule a new build for the last commit of this branch.
- Verbose Console Log : check for verbose build console log, the default is false
Refer to our contribution guidelines
This plugin was started as a Google Summer of Code 2020 project, special thanks to the support from Jenkins GSoC SIG and the entire community.
Licensed under MIT, see LICENSE




