Merge "Added missing 'filters' parameters for rabbitmq trigger plugin"
This commit is contained in:
commit
1ef4a6ecc5
@ -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),
|
||||
|
19
tests/triggers/fixtures/rabbitmq-filters.xml
Normal file
19
tests/triggers/fixtures/rabbitmq-filters.xml
Normal 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>
|
8
tests/triggers/fixtures/rabbitmq-filters.yaml
Normal file
8
tests/triggers/fixtures/rabbitmq-filters.yaml
Normal file
@ -0,0 +1,8 @@
|
||||
triggers:
|
||||
- rabbitmq:
|
||||
token: 'build_trigger_token'
|
||||
filters:
|
||||
- field: 'field1'
|
||||
value: 'value1'
|
||||
- field: 'field2'
|
||||
value: 'value2'
|
Loading…
x
Reference in New Issue
Block a user