blob: edd98646d75b5c8c3fdf34bd524ed6e10263f544 [file] [log] [blame]
James E. Blaircdd00072012-06-08 19:17:28 -07001:title: Triggers
2
3Triggers
4========
5
6The process of merging a change starts with proposing a change to be
7merged. Currently Zuul only supports Gerrit as a triggering system.
8Zuul's design is modular, so alternate triggering and reporting
9systems can be supported. However, Gerrit has a particularly robust
10data model, and Zuul does make some assumptions that include that data
11model. Nonetheless, patches to support alternate systems are welcome.
12
13Gerrit
14------
15
16Zuul works with standard versions of Gerrit by invoking the ``gerrit
17stream-events`` command over an SSH connection. It also reports back
18to Gerrit using SSH.
19
20Gerrit Configuration
21~~~~~~~~~~~~~~~~~~~~
22
23Zuul will need access to a Gerrit user. Consider naming the user
24*Jenkins* so that developers see that feedback from changes is from
25Jenkins (Zuul attempts to stay out of the way of developers, most
26shouldn't even need to know it's there).
27
28Create an SSH keypair for Zuul to use if there isn't one already, and
29create a Gerrit user with that key::
30
31 cat ~/id_rsa.pub | ssh -p29418 gerrit.example.com gerrit create-account --ssh-key - --full-name Jenkins jenkins
32
33Give that user whatever permissions will be needed on the projects you
34want Zuul to gate. For instance, you may want to grant ``Verified
35+/-1`` and ``Submit`` to the user. Additional categories or values may
36be added to Gerrit. Zuul is very flexible and can take advantage of
37those.