---
title: "Gerrit Code Review - Plugins"
permalink: {{ data.permalink }}.html
hide_sidebar: true
hide_navtoggle: true
toc: true
---

## About this page

This page lists all the [plugins] known to the Gerrit project, with their compatibility
status across the [supported] version branches. The list includes the [core] plugins.

Some plugins might be missing from this page. [Contributions] to add them are welcome,
if needed.

## Maintenance of plugins

These plugins are made by different parties and maintained to varying degrees, therefore
the Gerrit project does not guarantee their reliability. However, many are reliable and
valuable integrations across Gerrit deployments. The matrix detailed below lists the
maintainers for every maintained plugin.

There is a [parent] component for plugin-specific components/issues in Monorail.

Community members are welcome to propose themselves as [plugin maintainers]. This can be
done through the support [mailing] list:

1. Volunteering can be done for either plugins with no maintainers or plugins with just
   a few (or more) maintainers. Volunteering for unmaintained plugins is of course
   preferred. Maintainership comes with [ownership] expectations and responsibilities.
1. Maintainership is discussed privately by the current plugin maintainers, or the core
   [maintainers] if none.
1. The resulting verdict is then shared within the initial proposal ([mailing]) thread.
   Both the initial (new maintainer) proposal and verdict are shared transparently thus
   professionally that way.

When there are no direct plugins maintainers, the Gerrit maintainers have the permissions
to review and merge changes. However, regular maintenance of such plugins is not guaranteed.

## Plugin builds

There are build [ci-scripts] for most plugins. Each script builds that plugin against all
the branches it supports.

Some plugins don't have branches but still support them, through their `master` branch.

That CI is the public service that offers the download of pre-built plugin jar files.

## Compatibility matrix

Below, each plugin name has a link to that plugin's README page. A summary of the plugin
description is shown (first sentence, or '&#x20DE;' if none).

[Contributions] to provide descriptions or update existing ones are welcome.

The last known plugin activity state is shown by the following icons

| project   |           | repository |          |
|-----------|-----------|------------|----------|
| active    | &#x2705;  | has branch | &#x2325; |
| read-only | &#x1F512; | no branch  | &#x20DE; |

and the number of recent changes in the last 3 months is also shown.

Each branch name links to the corresponding CI jobs view, for the current build status.

* The last captured build result shows in the CI column next to that branch.
* Jenkins `SUCCESS` results show as &#x2705; while `FAILURE` or else show as &#x274C;.
* Otherwise, '&#x20DE;' shows if CI doesn't build a specific plugin branch or version.
   * [Contributions] to propose building those are also welcome if needed.
   * Fixing the failing builds is of course as welcome, first and foremost.
* Plugin tests are currently not executed by the formal Gerrit project CI.

Plugins either

* have a formal branch matching that Gerrit version (&#x2714;),
* or don't have that branch (&#x20DE;); again, versions may still build using `master`.
* '&#x20DE;' shows across for inactive plugins.

Plugins compatibility with each Gerrit version depends on their current CI build results.

Those build results likely change over time; this matrix is their last snapshot.
The matrix was last updated on <strong>{{ data.updated }}</strong>.

## Plugin Matrix

[ci-scripts]: https://gerrit.googlesource.com/gerrit-ci-scripts/+/refs/heads/master/jenkins/
[Contributions]: https://gerrit-review.googlesource.com/Documentation/dev-community.html#how-to-contribute
[core]: https://gerrit-review.googlesource.com/Documentation/config-plugins.html#core-plugins
[mailing]: https://www.gerritcodereview.com/support.html#general-support
[maintainers]: https://www.gerritcodereview.com/members.html#maintainers
[ownership]: https://gerrit-review.googlesource.com/Documentation/config-plugins.html#development
[parent]: https://bugs.chromium.org/p/gerrit/issues/list?q=component%3Aplugins
[plugins]: https://gerrit-review.googlesource.com/admin/repos/q/filter:plugins%252F
[plugin maintainers]: #plugin-maintainers
[supported]: https://www.gerritcodereview.com/support.html#supported-versions
