summaryrefslogtreecommitdiff
path: root/zuul/driver/gerrit/gerrittrigger.py
diff options
context:
space:
mode:
authorJames E. Blair <jim@acmegating.com>2023-02-28 14:57:01 -0800
committerJames E. Blair <jim@acmegating.com>2023-04-28 11:50:11 -0700
commit546ad5353a89d2fe7f47636ef781c44a6e8ff975 (patch)
tree97f28d9e769cb2983514e05888253a07d6ee2052 /zuul/driver/gerrit/gerrittrigger.py
parent1a4ec7e9266989207f879786a1c19b6d18180eb2 (diff)
downloadzuul-546ad5353a89d2fe7f47636ef781c44a6e8ff975.tar.gz
Add Gerrit pipeline trigger requirements
This updates the Gerrit driver to match the pattern in the GitHub driver where instead of specifying individual trigger requirements such as "require-approvals", instead a complete ref filter (a la "requirements") can be embedded in the trigger filter. The "require-approvals" and "reject-approvals" attributes are deprecated in favor of the new approach. Additionally, all require filters in Gerrit are now available as reject filters. And finally, the Gerrit filters are updated to return FalseWithReason so that log messages are more useful, and the Github filters are updated to improve the language, avoid apostraphes for ease of grepping, and match the new Gerrit filters. Change-Id: Ia9c749f1c8e318fe01e84e52831a9d0d2c10b203
Diffstat (limited to 'zuul/driver/gerrit/gerrittrigger.py')
-rw-r--r--zuul/driver/gerrit/gerrittrigger.py7
1 files changed, 6 insertions, 1 deletions
diff --git a/zuul/driver/gerrit/gerrittrigger.py b/zuul/driver/gerrit/gerrittrigger.py
index dc8a7db68..dff5dc32c 100644
--- a/zuul/driver/gerrit/gerrittrigger.py
+++ b/zuul/driver/gerrit/gerrittrigger.py
@@ -16,6 +16,7 @@ import logging
import voluptuous as v
from zuul.trigger import BaseTrigger
from zuul.driver.gerrit.gerritmodel import GerritEventFilter
+from zuul.driver.gerrit import gerritsource
from zuul.driver.util import scalar_or_list, to_list
@@ -59,7 +60,9 @@ class GerritTrigger(BaseTrigger):
),
uuid=trigger.get('uuid'),
scheme=trigger.get('scheme'),
- ignore_deletes=ignore_deletes
+ ignore_deletes=ignore_deletes,
+ require=trigger.get('require'),
+ reject=trigger.get('reject'),
)
efilters.append(f)
@@ -101,6 +104,8 @@ def getSchema():
'approval': scalar_or_list(variable_dict),
'require-approval': scalar_or_list(approval),
'reject-approval': scalar_or_list(approval),
+ 'require': gerritsource.getRequireSchema(),
+ 'reject': gerritsource.getRejectSchema(),
}
return gerrit_trigger