Connections¶
zuul coordinates talking to multiple different systems via the concept of connections. A connection is listed in the zuul.conf file and is then referred to from the layout.yaml. This makes it possible to receive events from gerrit via one connection and post results from another connection that may report back as a different user.
Gerrit¶
Create a connection with gerrit.
driver=gerrit
- server
- FQDN of Gerrit server.
server=review.example.com
- port
- Optional: Gerrit server port.
port=29418
- baseurl
- Optional: path to Gerrit web interface. Defaults to
https://<value of server>/
.baseurl=https://review.example.com/review_site/
- user
- User name to use when logging into above server via ssh.
user=zuul
- sshkey
- Path to SSH key to use when logging into above server.
sshkey=/home/zuul/.ssh/id_rsa
event_delay (optional)
When querying a change immediately after a patchset upload, Gerrit may return incorrect data about dependent changes. In order to avoid this, the events are not delivered to Zuul until a constant number of seconds has passed.
Note that if we receive several events in succession, we will only need to delay for the first event.
Default:
10
(seconds)
Gerrit Configuration¶
Zuul will need access to a Gerrit user.
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.
SMTP¶
driver=smtp
- server
- SMTP server hostname or address to use.
server=localhost
- port
- Optional: SMTP server port.
port=25
- default_from
- Who the email should appear to be sent from when emailing the report.
This can be overridden by individual pipelines.
default_from=zuul@example.com
- default_to
- Who the report should be emailed to by default.
This can be overridden by individual pipelines.
default_to=you@example.com