---
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 the Gerrit Code
Review Tracker.

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
