Add a timer trigger
Add a trigger that enqueues items based on a timer.
Change-Id: I024be871914c8272c237b1f818589be08cda04da
diff --git a/doc/source/triggers.rst b/doc/source/triggers.rst
index cbcbad2..0bd07de 100644
--- a/doc/source/triggers.rst
+++ b/doc/source/triggers.rst
@@ -4,11 +4,10 @@
========
The process of merging a change starts with proposing a change to be
-merged. Currently Zuul only supports Gerrit as a triggering system.
+merged. Primarily, Zuul supports Gerrit as a triggering system, as
+well as a facility for triggering jobs based on a timer.
Zuul's design is modular, so alternate triggering and reporting
-systems can be supported. However, Gerrit has a particularly robust
-data model, and Zuul does make some assumptions that include that data
-model. Nonetheless, patches to support alternate systems are welcome.
+systems can be supported.
Gerrit
------
@@ -101,3 +100,9 @@
depending on what the state of Zuul's repository is when the clone
happens). They are, however, suitable for automated systems that
respond to Zuul triggers.
+
+Timer
+-----
+
+A simple timer trigger is available as well. It supports triggering
+jobs in a pipeline based on cron-style time instructions.
diff --git a/doc/source/zuul.rst b/doc/source/zuul.rst
index cb878fd..715ba39 100644
--- a/doc/source/zuul.rst
+++ b/doc/source/zuul.rst
@@ -304,6 +304,18 @@
containing 'retrigger' somewhere in the comment text are added to a
change.
+ **timer**
+ This trigger will run based on a cron-style time specification.
+ It will enqueue an event into its pipeline for every project
+ defined in the configuration. Any job associated with the
+ pipeline will run in response to that event.
+
+ *time*
+ The time specification in cron syntax. Only the 5 part syntax is
+ supported, not the symbolic names. Example: ``0 0 * * *`` runs
+ at midnight.
+
+
**dequeue-on-new-patchset**
Normally, if a new patchset is uploaded to a change that is in a
pipeline, the existing entry in the pipeline will be removed (with