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

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

## 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 (ACTIVE shows as &#x2705;, READ_ONLY as &#x1F512;)
and 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>.


[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
[supported]: https://www.gerritcodereview.com/support.html#supported-versions
