| :linkattrs: |
| = Gerrit Code Review - JavaScript Plugin Checks API |
| |
| This API is provided by link:pg-plugin-dev.html#plugin-checks[plugin.checks()]. |
| It allows plugins to contribute to the "Checks" tab and summary: |
| |
| image::images/user-checks-overview.png[width=800] |
| |
| Each plugin can link:#register[register] a checks provider that will be called |
| when a change page is loaded. Such a call would return a list of `Runs` and each |
| run can contain a list of `Results`. |
| |
| `Results` messages will render as markdown. It follows the |
| [CommonMark](https://commonmark.org/help/) spec except inline images and direct |
| HTML are not rendered and kept as plaintext. |
| |
| The details of the ChecksApi are documented in the |
| link:https://gerrit.googlesource.com/gerrit/+/master/polygerrit-ui/app/api/checks.ts[source code]. |
| Note that this link points to the `master` branch and might thus reflect a |
| newer version of the API than your Gerrit installation. |
| |
| If no plugins are registered with the ChecksApi, then the Checks tab will be |
| hidden. |
| |
| You can read about the motivation, the use cases and the original plans in the |
| link:https://www.gerritcodereview.com/design-docs/ci-reboot.html[design doc]. |
| |
| Here are some examples of open source plugins that make use of the Checks API: |
| |
| * link:https://gerrit.googlesource.com/plugins/checks/+/master/gr-checks/plugin.js[Gerrit Checks Plugin] |
| * link:https://chromium.googlesource.com/infra/gerrit-plugins/buildbucket/+/main/web/plugin.ts[Chromium Buildbucket Plugin] |
| * link:https://chromium.googlesource.com/infra/gerrit-plugins/code-coverage/+/main/web/plugin.ts[Chromium Coverage Plugin] |
| |
| [[register]] |
| == register |
| `checksApi.register(provider, config?)` |
| |
| .Params |
| - *provider* Must implement a `fetch()` interface that returns a |
| `Promise<FetchResponse>` with runs and results. See also documentation in the |
| link:https://gerrit.googlesource.com/gerrit/+/master/polygerrit-ui/app/api/checks.ts[source code]. |
| - *config* Optional configuration values for the checks provider. |
| |
| [[announceUpdate]] |
| == announceUpdate |
| `checksApi.announceUpdate()` |
| |
| Tells Gerrit to call `provider.fetch()`. |