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