Allow github trigger to match on branches/refs

Change-Id: If33d5566813f08704db2ed6983541eec31c96a55
This commit is contained in:
Jan Hruban
2015-12-16 12:49:51 +01:00
committed by Jesse Keating
parent 37615e5c6f
commit d4edee83c2
5 changed files with 52 additions and 24 deletions

View File

@@ -22,29 +22,26 @@ class GithubTrigger(BaseTrigger):
name = 'github'
log = logging.getLogger("zuul.trigger.GithubTrigger")
def _toList(self, item):
if not item:
return []
if isinstance(item, list):
return item
return [item]
def getEventFilters(self, trigger_config):
def toList(item):
if not item:
return []
if isinstance(item, list):
return item
return [item]
efilters = []
for trigger in self._toList(trigger_config):
types = trigger.get('event', None)
actions = trigger.get('action')
refs = trigger.get('refs')
comments = self._toList(trigger.get('comment'))
labels = trigger.get('label')
unlabels = trigger.get('unlabel')
f = EventFilter(trigger=self,
types=self._toList(types),
actions=self._toList(actions),
refs=self._toList(refs),
comments=self._toList(comments),
labels=self._toList(labels),
unlabels=self._toList(unlabels))
for trigger in toList(trigger_config):
f = EventFilter(
trigger=self,
types=toList(trigger['event']),
actions=toList(trigger.get('action')),
branches=toList(trigger.get('branch')),
refs=toList(trigger.get('ref')),
comments=toList(trigger.get('comment')),
labels=toList(trigger.get('label')),
unlabels=toList(trigger.get('unlabel'))
)
efilters.append(f)
return efilters
@@ -62,6 +59,7 @@ def getSchema():
toList(v.Any('pull_request',
'push')),
'action': toList(str),
'branch': toList(str),
'ref': toList(str),
'comment': toList(str),
'label': toList(str),