Add ability to restrict jobs to specific files.

Add an additional job parameter, 'file', that will cause that
job to only run if the change touches files that match the
specification.

Change-Id: I8c8fd3d029e02e338fd1dd266443b9ac56c0e5ac
Reviewed-on: https://review.openstack.org/23710
Reviewed-by: Clark Boylan <clark.boylan@gmail.com>
Reviewed-by: Jeremy Stanley <fungi@yuggoth.org>
Reviewed-by: Monty Taylor <mordred@inaugust.com>
Approved: James E. Blair <corvus@inaugust.com>
Tested-by: Jenkins
diff --git a/doc/source/zuul.rst b/doc/source/zuul.rst
index 7f3dfbb..47cf9bf 100644
--- a/doc/source/zuul.rst
+++ b/doc/source/zuul.rst
@@ -432,6 +432,12 @@
   treated as a regular expression and multiple branches may be
   listed.
 
+**files (optional)**
+  This job should only be run if at least one of the files involved in
+  the change (added, deleted, or modified) matches at least one of the
+  file patterns listed here.  This field is treated as a regular
+  expression and multiple expressions may be listed.
+
 **parameter-function (optional)**
   Specifies a function that should be applied to the parameters before
   the job is launched.  The function should be defined in a python file