Merge "added logstash plugin support and fixed test typo"

This commit is contained in:
Jenkins 2014-02-25 11:10:02 +00:00 committed by Gerrit Code Review
commit 7751fcc7da
8 changed files with 117 additions and 0 deletions

View File

@ -863,6 +863,66 @@ def pre_scm_buildstep(parser, xml_parent, data):
bs.append(edited_node)
def logstash(parser, xml_parent, data):
"""yaml: logstash build wrapper
Dump the Jenkins console output to Logstash
Requires the Jenkins `logstash plugin.
<https://wiki.jenkins-ci.org/display/JENKINS/Logstash+Plugin>`_
:arg use-redis: Boolean to use Redis. (default: true)
:arg redis: Redis config params
:Parameter: * **host** (`str`) Redis hostname\
(default 'localhost')
:Parameter: * **port** (`int`) Redis port number (default 6397)
:Parameter: * **database-number** (`int`)\
Redis database number (default 0)
:Parameter: * **database-password** (`str`)\
Redis database password (default '')
:Parameter: * **data-type** (`str`)\
Redis database type (default 'list')
:Parameter: * **key** (`str`) Redis key (default 'logstash')
Example:
.. literalinclude:: /../../tests/wrappers/fixtures/logstash001.yaml
"""
logstash = XML.SubElement(xml_parent,
'jenkins.plugins.logstash.'
'LogstashBuildWrapper')
logstash.set('plugin', 'logstash@0.8.0')
redis_bool = XML.SubElement(logstash, 'useRedis')
redis_bool.text = str(data.get('use-redis', True)).lower()
if data.get('use-redis'):
redis_config = data.get('redis', {})
redis_sub_element = XML.SubElement(logstash, 'redis')
host_sub_element = XML.SubElement(redis_sub_element, 'host')
host_sub_element.text = str(
redis_config.get('host', 'localhost'))
port_sub_element = XML.SubElement(redis_sub_element, 'port')
port_sub_element.text = str(redis_config.get('port', '6379'))
database_numb_sub_element = XML.SubElement(redis_sub_element, 'numb')
database_numb_sub_element.text = \
str(redis_config.get('database-number', '0'))
database_pass_sub_element = XML.SubElement(redis_sub_element, 'pass')
database_pass_sub_element.text = \
str(redis_config.get('database-password', ''))
data_type_sub_element = XML.SubElement(redis_sub_element, 'dataType')
data_type_sub_element.text = \
str(redis_config.get('data-type', 'list'))
key_sub_element = XML.SubElement(redis_sub_element, 'key')
key_sub_element.text = str(redis_config.get('key', 'logstash'))
class Wrappers(jenkins_jobs.modules.base.Base):
sequence = 80

View File

@ -207,6 +207,7 @@ setuptools.setup(
'inject-passwords=jenkins_jobs.modules.wrappers:inject_passwords',
'jclouds=jenkins_jobs.modules.wrappers:jclouds',
'locks=jenkins_jobs.modules.wrappers:locks',
'logstash=jenkins_jobs.modules.wrappers:logstash',
'mask-passwords=jenkins_jobs.modules.wrappers:mask_passwords',
'pathignore=jenkins_jobs.modules.wrappers:pathignore',
'port-allocator=jenkins_jobs.modules.wrappers:port_allocator',

View File

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="utf-8"?>
<project>
<buildWrappers>
<jenkins.plugins.logstash.LogstashBuildWrapper plugin="logstash@0.8.0">
<useRedis>true</useRedis>
<redis>
<host>localhost</host>
<port>6379</port>
<numb>0</numb>
<pass>password</pass>
<dataType>list</dataType>
<key>logstash</key>
</redis>
</jenkins.plugins.logstash.LogstashBuildWrapper>
</buildWrappers>
</project>

View File

@ -0,0 +1,10 @@
wrappers:
- logstash:
use-redis: True
redis:
host: 'localhost'
port: 6379
database-number: 0
database-password: 'password'
data-type: 'list'
key: 'logstash'

View File

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="utf-8"?>
<project>
<buildWrappers>
<jenkins.plugins.logstash.LogstashBuildWrapper plugin="logstash@0.8.0">
<useRedis>true</useRedis>
<redis>
<host>localhost</host>
<port>6379</port>
<numb>0</numb>
<pass/>
<dataType>list</dataType>
<key>logstash</key>
</redis>
</jenkins.plugins.logstash.LogstashBuildWrapper>
</buildWrappers>
</project>

View File

@ -0,0 +1,3 @@
wrappers:
- logstash:
use-redis: True

View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<project>
<buildWrappers>
<jenkins.plugins.logstash.LogstashBuildWrapper plugin="logstash@0.8.0">
<useRedis>false</useRedis>
</jenkins.plugins.logstash.LogstashBuildWrapper>
</buildWrappers>
</project>

View File

@ -0,0 +1,3 @@
wrappers:
- logstash:
use-redis: False