diff --git a/jenkins_jobs/modules/wrappers.py b/jenkins_jobs/modules/wrappers.py index f57aea206..fd716c235 100644 --- a/jenkins_jobs/modules/wrappers.py +++ b/jenkins_jobs/modules/wrappers.py @@ -1333,6 +1333,34 @@ def sauce_ondemand(registry, xml_parent, data): XML.SubElement(sauce, 'options').text = options +def sonar(registry, xml_parent, data): + """yaml: sonar + Wrapper for SonarQube Plugin + Requires :jenkins-wiki:`SonarQube plugin ` + + :arg str install-name: Release goals and options (default '') + + Minimal Example: + + .. literalinclude:: /../../tests/wrappers/fixtures/sonar-minimal.yaml + :language: yaml + + Full Example: + + .. literalinclude:: /../../tests/wrappers/fixtures/sonar-full.yaml + :language: yaml + """ + sonar = XML.SubElement( + xml_parent, 'hudson.plugins.sonar.SonarBuildWrapper') + sonar.set('plugin', 'sonar') + + if data.get('install-name'): + mapping = [ + ('install-name', 'installationName', ''), + ] + convert_mapping_to_xml(sonar, data, mapping, fail_required=True) + + def pathignore(registry, xml_parent, data): """yaml: pathignore This plugin allows SCM-triggered jobs to ignore diff --git a/tests/wrappers/fixtures/sonar-full.xml b/tests/wrappers/fixtures/sonar-full.xml new file mode 100644 index 000000000..e7fb0bd9b --- /dev/null +++ b/tests/wrappers/fixtures/sonar-full.xml @@ -0,0 +1,8 @@ + + + + + test-sonar-installation + + + diff --git a/tests/wrappers/fixtures/sonar-full.yaml b/tests/wrappers/fixtures/sonar-full.yaml new file mode 100644 index 000000000..e72aa9be6 --- /dev/null +++ b/tests/wrappers/fixtures/sonar-full.yaml @@ -0,0 +1,3 @@ +wrappers: + - sonar: + install-name: test-sonar-installation diff --git a/tests/wrappers/fixtures/sonar-minimal.xml b/tests/wrappers/fixtures/sonar-minimal.xml new file mode 100644 index 000000000..e675f9d05 --- /dev/null +++ b/tests/wrappers/fixtures/sonar-minimal.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/tests/wrappers/fixtures/sonar-minimal.yaml b/tests/wrappers/fixtures/sonar-minimal.yaml new file mode 100644 index 000000000..dad6d19ee --- /dev/null +++ b/tests/wrappers/fixtures/sonar-minimal.yaml @@ -0,0 +1,2 @@ +wrappers: + - sonar