zuul/doc/source/triggers.rst
David Pursehouse 78556f76fd Document that the "Stream Events" permission is needed.
Since Gerrit 2.7 the stream-events is only available to users
that are granted the "Stream Events" permission.

Change-Id: I38960b3647145043a31e5c948141831a84643753
2014-12-09 04:51:46 +00:00

1.6 KiB

title

Triggers

Triggers

The process of merging a change starts with proposing a change to be merged. Primarily, Zuul supports Gerrit as a triggering system. Zuul's design is modular, so alternate triggering and reporting systems can be supported.

Gerrit

Zuul works with standard versions of Gerrit by invoking the gerrit stream-events command over an SSH connection. It also reports back to Gerrit using SSH.

Gerrit Configuration

Zuul will need access to a Gerrit user. Consider naming the user Jenkins so that developers see that feedback from changes is from Jenkins (Zuul attempts to stay out of the way of developers, most shouldn't even need to know it's there).

Create an SSH keypair for Zuul to use if there isn't one already, and create a Gerrit user with that key:

cat ~/id_rsa.pub | ssh -p29418 gerrit.example.com gerrit create-account --ssh-key - --full-name Jenkins jenkins

Give that user whatever permissions will be needed on the projects you want Zuul to gate. For instance, you may want to grant Verified +/-1 and Submit to the user. Additional categories or values may be added to Gerrit. Zuul is very flexible and can take advantage of those.

If using Gerrit 2.7 or later, make sure the user is a member of a group that is granted the Stream Events permission, otherwise it will not be able to invoke the gerrit stream-events command over SSH.

Timer

A simple timer trigger is available as well. It supports triggering jobs in a pipeline based on cron-style time instructions.

Zuul

The Zuul trigger generates events based on internal actions in Zuul.