Zuul is a tool used to gate source code repositories and only allow changes to be merged if tests pass. It facilitates running tests and automated tasks in response to code changes. Zuul uses a trigger, cloner, launcher and reporter architecture. It integrates with Jenkins using the Gearman plugin to pass parameters between them. Zuul can be run on multi-node infrastructures and bare metal using configuration playbooks and by replacing DevStack scripts. It is used by OpenStack Kolla to deploy OpenStack in Docker containers during gating.