Merge "Added missing 'filters' parameters for rabbitmq trigger plugin"

This commit is contained in:
Zuul 2019-08-15 18:46:14 +00:00 committed by Gerrit Code Review
commit 1ef4a6ecc5
3 changed files with 52 additions and 2 deletions

View File

@ -1922,17 +1922,40 @@ def rabbitmq(registry, xml_parent, data):
<RabbitMQ+Build+Trigger+Plugin>`.
:arg str token: the build token expected in the message queue (required)
:arg list filters: list of filters to apply (optional)
:Filter:
* **field** (`str`) - Some field in message (required)
* **value** (`str`) - value of specified field (required)
Example:
.. literalinclude:: /../../tests/triggers/fixtures/rabbitmq.yaml
:language: yaml
Example with filters:
.. literalinclude:: /../../tests/triggers/fixtures/rabbitmq-filters.yaml
:language: yaml
"""
rabbitmq_prefix = 'org.jenkinsci.plugins.rabbitmqbuildtrigger.'
rabbitmq = XML.SubElement(
xml_parent,
'org.jenkinsci.plugins.rabbitmqbuildtrigger.'
'RemoteBuildTrigger')
rabbitmq_prefix + 'RemoteBuildTrigger')
filters = data.get('filters', [])
filter_mapping = [
('field', 'field', None),
('value', 'value', None),
]
if filters:
filters_tag = XML.SubElement(rabbitmq, 'filters')
for filter_data in filters:
filter_tag = XML.SubElement(
filters_tag,
rabbitmq_prefix + 'Filter')
helpers.convert_mapping_to_xml(
filter_tag, filter_data, filter_mapping, fail_required=True)
mapping = [
('', 'spec', ''),
('token', 'remoteBuildToken', None),

View File

@ -0,0 +1,19 @@
<?xml version="1.0" encoding="utf-8"?>
<project>
<triggers class="vector">
<org.jenkinsci.plugins.rabbitmqbuildtrigger.RemoteBuildTrigger>
<filters>
<org.jenkinsci.plugins.rabbitmqbuildtrigger.Filter>
<field>field1</field>
<value>value1</value>
</org.jenkinsci.plugins.rabbitmqbuildtrigger.Filter>
<org.jenkinsci.plugins.rabbitmqbuildtrigger.Filter>
<field>field2</field>
<value>value2</value>
</org.jenkinsci.plugins.rabbitmqbuildtrigger.Filter>
</filters>
<spec/>
<remoteBuildToken>build_trigger_token</remoteBuildToken>
</org.jenkinsci.plugins.rabbitmqbuildtrigger.RemoteBuildTrigger>
</triggers>
</project>

View File

@ -0,0 +1,8 @@
triggers:
- rabbitmq:
token: 'build_trigger_token'
filters:
- field: 'field1'
value: 'value1'
- field: 'field2'
value: 'value2'