Add require-approval to Gerrit trigger
This feature allows Zuul to consider existing (or new) approval
votes associated with a change when determining whether an event
matches. For example, it can be used to require that a Verified
vote of a certain age be present before a change is enqueued in
a pipeline.
Change-Id: I81344713d71b345b08576334568b9c49c810c7e9
diff --git a/doc/source/zuul.rst b/doc/source/zuul.rst
index f71df22..b4adc4d 100644
--- a/doc/source/zuul.rst
+++ b/doc/source/zuul.rst
@@ -348,6 +348,35 @@
containing 'retrigger' somewhere in the comment text are added to a
change.
+ *require-approval*
+ This may be used for any event. It requires that a certain kind
+ of approval be present for the current patchset of the change (the
+ approval could be added by the event in question). It takes
+ several sub-parameters, all of which are optional and are combined
+ together so that there must be an approval matching all specified
+ requirements.
+
+ *username*
+ If present, an approval from this username is required.
+
+ *email-filter*
+ If present, an approval with this email address is required. It
+ is treated as a regular expression as above.
+
+ *older-than*
+ If present, the approval must be older than this amount of time
+ to match. Provide a time interval as a number with a suffix of
+ "w" (weeks), "d" (days), "h" (hours), "m" (minutes), "s"
+ (seconds). Example "48h" or "2d".
+
+ *newer-than*
+ If present, the approval must be newer than this amount of time
+ to match. Same format as "older-than".
+
+ Any other field is interpreted as a review category and value
+ pair. For example "verified: 1" would require that the approval
+ be for a +1 vote in the "Verified" column.
+
**timer**
This trigger will run based on a cron-style time specification.
It will enqueue an event into its pipeline for every project