Gerrit events listener to send events to an external Apache Kafka broker.

Clone this repo:
  1. 4729ca0 Merge branch 'stable-3.4' by Wade Carpenter · 8 weeks ago master
  2. 2ad6f5c Update kafka-client 2.1.0 -> 2.1.1 by Wade Carpenter · 8 weeks ago stable-3.4
  3. 7bc3996 Fix 'laster' to 'later' typo in by Luca Milanesio · 5 months ago
  4. 7836aac Merge changes from topic "revert-312871-centralize-stream-events-handling-JLRJXKYEBH" by Antonio Barone · 5 months ago
  5. 51a42a9 Introduce InitStep by Antonio Barone · 5 months ago

Kafka: Gerrit event producer for Apache Kafka

Build Status


This plugins allows to define a distributed stream of events published by Gerrit.

Events can be anything, from the traditional stream events to the Gerrit metrics.

This plugin requires Gerrit 2.13 or later.


  • linux
  • java-1.8
  • Bazel


Kafka plugin can be build as a regular ‘in-tree’ plugin. That means that is required to clone a Gerrit source tree first and then to have the Kafka plugin source directory into the /plugins path. Additionally, the plugins/external_plugin_deps.bzl file needs to be updated to match the Kafka plugin one.

git clone --recursive
git clone gerrit/plugins/events-kafka
cd gerrit
rm plugins/external_plugin_deps.bzl
ln -s ./events-kafka/external_plugin_deps.bzl plugins/.

To build the events-kafka plugins, issue the command from the Gerrit source path:

bazel build plugins/events-kafka

The output is created in


Minimum Configuration

Assuming a running Kafka broker on the same Gerrit host, add the following settings to gerrit.config:

  [plugin "events-kafka"]
    bootstrapServers = localhost:9092