Convert all inline publisher examples to tests

Convert all publisher examples to unit tests and use literalinclude to
have sphinx automatically inline the test file contents. Replace
mavendeploy test with more complete version from the code and include
some tests from files that were identical to the inline example.

Enable yaml syntax highlighting for existing examples for consistent
display of docstrings across the publishers module.

In turn fix any python 3 compatibility issues highlighted by the
additional tests executing previously unexercised code paths.

Change-Id: Ic0fd39dee0121c0c22a932fd455dccc5344893b2
This commit is contained in:
Darragh Bailey 2015-03-20 01:03:00 +00:00
parent f14589b14d
commit 09c0224fb2
60 changed files with 1183 additions and 376 deletions

View File

@ -52,7 +52,7 @@ def archive(parser, xml_parent, data):
Example: Example:
.. literalinclude:: /../../tests/publishers/fixtures/archive001.yaml .. literalinclude:: /../../tests/publishers/fixtures/archive001.yaml
:language: yaml
""" """
logger = logging.getLogger("%s:archive" % __name__) logger = logging.getLogger("%s:archive" % __name__)
archiver = XML.SubElement(xml_parent, 'hudson.tasks.ArtifactArchiver') archiver = XML.SubElement(xml_parent, 'hudson.tasks.ArtifactArchiver')
@ -92,7 +92,7 @@ def blame_upstream(parser, xml_parent, data):
Example: Example:
.. literalinclude:: /../../tests/publishers/fixtures/blame001.yaml .. literalinclude:: /../../tests/publishers/fixtures/blame001.yaml
:language: yaml
""" """
XML.SubElement(xml_parent, XML.SubElement(xml_parent,
@ -117,7 +117,7 @@ def campfire(parser, xml_parent, data):
Example: Example:
.. literalinclude:: /../../tests/publishers/fixtures/campfire001.yaml .. literalinclude:: /../../tests/publishers/fixtures/campfire001.yaml
:language: yaml
""" """
root = XML.SubElement(xml_parent, root = XML.SubElement(xml_parent,
@ -153,6 +153,7 @@ def emotional_jenkins(parser, xml_parent, data):
Example: Example:
.. literalinclude:: /../../tests/publishers/fixtures/emotional-jenkins.yaml .. literalinclude:: /../../tests/publishers/fixtures/emotional-jenkins.yaml
:language: yaml
""" """
XML.SubElement(xml_parent, XML.SubElement(xml_parent,
'org.jenkinsci.plugins.emotional__jenkins.' 'org.jenkinsci.plugins.emotional__jenkins.'
@ -194,8 +195,8 @@ def trigger_parameterized_builds(parser, xml_parent, data):
Example: Example:
.. literalinclude:: .. literalinclude::
/../../tests/publishers/fixtures/trigger_parameterized_builds001.yaml /../../tests/publishers/fixtures/trigger_parameterized_builds001.yaml
:language: yaml
""" """
tbuilder = XML.SubElement(xml_parent, tbuilder = XML.SubElement(xml_parent,
'hudson.plugins.parameterizedtrigger.' 'hudson.plugins.parameterizedtrigger.'
@ -294,6 +295,7 @@ def trigger(parser, xml_parent, data):
Example: Example:
.. literalinclude:: /../../tests/publishers/fixtures/trigger_success.yaml .. literalinclude:: /../../tests/publishers/fixtures/trigger_success.yaml
:language: yaml
""" """
tconfig = XML.SubElement(xml_parent, 'hudson.tasks.BuildTrigger') tconfig = XML.SubElement(xml_parent, 'hudson.tasks.BuildTrigger')
childProjects = XML.SubElement(tconfig, 'childProjects') childProjects = XML.SubElement(tconfig, 'childProjects')
@ -332,13 +334,14 @@ def clone_workspace(parser, xml_parent, data):
Minimal example: Minimal example:
.. literalinclude:: .. literalinclude::
/../../tests/publishers/fixtures/clone-workspace001.yaml /../../tests/publishers/fixtures/clone-workspace001.yaml
:language: yaml
Full example: Full example:
.. literalinclude:: .. literalinclude::
/../../tests/publishers/fixtures/clone-workspace002.yaml /../../tests/publishers/fixtures/clone-workspace002.yaml
:language: yaml
""" """
cloneworkspace = XML.SubElement( cloneworkspace = XML.SubElement(
@ -417,12 +420,13 @@ def cloverphp(parser, xml_parent, data):
Minimal example: Minimal example:
.. literalinclude:: /../../tests/publishers/fixtures/cloverphp001.yaml .. literalinclude:: /../../tests/publishers/fixtures/cloverphp001.yaml
:language: yaml
Full example: Full example:
.. literalinclude:: /../../tests/publishers/fixtures/cloverphp002.yaml .. literalinclude:: /../../tests/publishers/fixtures/cloverphp002.yaml
:language: yaml
""" """
cloverphp = XML.SubElement( cloverphp = XML.SubElement(
xml_parent, xml_parent,
@ -496,10 +500,10 @@ def coverage(parser, xml_parent, data):
Requires the Jenkins :jenkins-wiki:`Cobertura Coverage Plugin Requires the Jenkins :jenkins-wiki:`Cobertura Coverage Plugin
<Cobertura+Plugin>`. <Cobertura+Plugin>`.
Example:: Example:
publishers: .. literalinclude:: /../../tests/publishers/fixtures/coverage001.yaml
- coverage :language: yaml
""" """
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)
logger.warn("Coverage function is deprecated. Switch to cobertura.") logger.warn("Coverage function is deprecated. Switch to cobertura.")
@ -589,30 +593,10 @@ def cobertura(parser, xml_parent, data):
* **unhealthy** (`int`): Unhealthy threshold (default 0) * **unhealthy** (`int`): Unhealthy threshold (default 0)
* **failing** (`int`): Failing threshold (default 0) * **failing** (`int`): Failing threshold (default 0)
Example:: Example:
publishers:
- cobertura:
report-file: "/reports/cobertura/coverage.xml"
only-stable: "true"
fail-no-reports: "true"
fail-unhealthy: "true"
fail-unstable: "true"
health-auto-update: "true"
stability-auto-update: "true"
zoom-coverage-chart: "true"
source-encoding: "Big5"
targets:
- files:
healthy: 10
unhealthy: 20
failing: 30
- method:
healthy: 50
unhealthy: 40
failing: 30
.. literalinclude:: /../../tests/publishers/fixtures/cobertura001.yaml
:language: yaml
""" """
cobertura = XML.SubElement(xml_parent, cobertura = XML.SubElement(xml_parent,
'hudson.plugins.cobertura.CoberturaPublisher') 'hudson.plugins.cobertura.CoberturaPublisher')
@ -637,7 +621,7 @@ def cobertura(parser, xml_parent, data):
'class': 'enum-map', 'class': 'enum-map',
'enum-type': 'hudson.plugins.cobertura.targets.CoverageMetric'}) 'enum-type': 'hudson.plugins.cobertura.targets.CoverageMetric'})
for item in data['targets']: for item in data['targets']:
item_name = item.keys()[0] item_name = next(iter(item.keys()))
item_values = item.get(item_name, 0) item_values = item.get(item_name, 0)
entry = XML.SubElement(targets, 'entry') entry = XML.SubElement(targets, 'entry')
XML.SubElement(entry, XML.SubElement(entry,
@ -649,7 +633,7 @@ def cobertura(parser, xml_parent, data):
'class': 'enum-map', 'class': 'enum-map',
'enum-type': 'hudson.plugins.cobertura.targets.CoverageMetric'}) 'enum-type': 'hudson.plugins.cobertura.targets.CoverageMetric'})
for item in data['targets']: for item in data['targets']:
item_name = item.keys()[0] item_name = next(iter(item.keys()))
item_values = item.get(item_name, 0) item_values = item.get(item_name, 0)
entry = XML.SubElement(targets, 'entry') entry = XML.SubElement(targets, 'entry')
XML.SubElement(entry, 'hudson.plugins.cobertura.targets.' XML.SubElement(entry, 'hudson.plugins.cobertura.targets.'
@ -661,7 +645,7 @@ def cobertura(parser, xml_parent, data):
'class': 'enum-map', 'class': 'enum-map',
'enum-type': 'hudson.plugins.cobertura.targets.CoverageMetric'}) 'enum-type': 'hudson.plugins.cobertura.targets.CoverageMetric'})
for item in data['targets']: for item in data['targets']:
item_name = item.keys()[0] item_name = next(iter(item.keys()))
item_values = item.get(item_name, 0) item_values = item.get(item_name, 0)
entry = XML.SubElement(targets, 'entry') entry = XML.SubElement(targets, 'entry')
XML.SubElement(entry, 'hudson.plugins.cobertura.targets.' XML.SubElement(entry, 'hudson.plugins.cobertura.targets.'
@ -696,22 +680,10 @@ def jacoco(parser, xml_parent, data):
* **healthy** (`int`): Healthy threshold (default 0) * **healthy** (`int`): Healthy threshold (default 0)
* **unhealthy** (`int`): Unhealthy threshold (default 0) * **unhealthy** (`int`): Unhealthy threshold (default 0)
Example:: Example:
publishers:
- jacoco:
exec-pattern: "**/**.exec"
class-pattern: "**/classes"
source-pattern: "**/src/main/java"
status-update: true
targets:
- branch:
healthy: 10
unhealthy: 20
- method:
healthy: 50
unhealthy: 40
.. literalinclude:: /../../tests/publishers/fixtures/jacoco001.yaml
:language: yaml
""" """
jacoco = XML.SubElement(xml_parent, jacoco = XML.SubElement(xml_parent,
@ -737,7 +709,7 @@ def jacoco(parser, xml_parent, data):
'class'] 'class']
for item in data['targets']: for item in data['targets']:
item_name = item.keys()[0] item_name = next(iter(item.keys()))
if item_name not in itemsList: if item_name not in itemsList:
raise JenkinsJobsException("item entered is not valid must be " raise JenkinsJobsException("item entered is not valid must be "
"one of: %s" % ",".join(itemsList)) "one of: %s" % ",".join(itemsList))
@ -812,11 +784,12 @@ def junit(parser, xml_parent, data):
Minimal example using defaults: Minimal example using defaults:
.. literalinclude:: /../../tests/publishers/fixtures/junit001.yaml .. literalinclude:: /../../tests/publishers/fixtures/junit001.yaml
:language: yaml
Full example: Full example:
.. literalinclude:: /../../tests/publishers/fixtures/junit002.yaml .. literalinclude:: /../../tests/publishers/fixtures/junit002.yaml
:language: yaml
""" """
junitresult = XML.SubElement(xml_parent, junitresult = XML.SubElement(xml_parent,
'hudson.tasks.junit.JUnitResultArchiver') 'hudson.tasks.junit.JUnitResultArchiver')
@ -1015,15 +988,10 @@ def violations(parser, xml_parent, data):
gendarme, jcreport, jslint, pep8, perlcritic, pmd, pylint, gendarme, jcreport, jslint, pep8, perlcritic, pmd, pylint,
simian, stylecop simian, stylecop
Example:: Example:
publishers: .. literalinclude:: /../../tests/publishers/fixtures/violations001.yaml
- violations: :language: yaml
pep8:
min: 0
max: 1
unstable: 1
pattern: '**/pep8.txt'
""" """
violations = XML.SubElement(xml_parent, violations = XML.SubElement(xml_parent,
'hudson.plugins.violations.' 'hudson.plugins.violations.'
@ -1115,11 +1083,12 @@ def checkstyle(parser, xml_parent, data):
Example: Example:
.. literalinclude:: /../../tests/publishers/fixtures/checkstyle004.yaml .. literalinclude:: /../../tests/publishers/fixtures/checkstyle004.yaml
:language: yaml
Full example: Full example:
.. literalinclude:: /../../tests/publishers/fixtures/checkstyle006.yaml .. literalinclude:: /../../tests/publishers/fixtures/checkstyle006.yaml
:language: yaml
""" """
def convert_settings(lookup, data): def convert_settings(lookup, data):
"""Helper to convert settings from one key to another """Helper to convert settings from one key to another
@ -1198,7 +1167,7 @@ def scp(parser, xml_parent, data):
Example: Example:
.. literalinclude:: /../../tests/publishers/fixtures/scp001.yaml .. literalinclude:: /../../tests/publishers/fixtures/scp001.yaml
:language: yaml
""" """
site = data['site'] site = data['site']
scp = XML.SubElement(xml_parent, scp = XML.SubElement(xml_parent,
@ -1252,7 +1221,6 @@ def ssh(parser, xml_parent, data):
.. literalinclude:: /../../tests/publishers/fixtures/ssh001.yaml .. literalinclude:: /../../tests/publishers/fixtures/ssh001.yaml
:language: yaml :language: yaml
""" """
console_prefix = 'SSH: ' console_prefix = 'SSH: '
plugin_tag = 'jenkins.plugins.publish__over__ssh.BapSshPublisherPlugin' plugin_tag = 'jenkins.plugins.publish__over__ssh.BapSshPublisherPlugin'
@ -1284,6 +1252,7 @@ def pipeline(parser, xml_parent, data):
Example: Example:
.. literalinclude:: /../../tests/publishers/fixtures/pipeline002.yaml .. literalinclude:: /../../tests/publishers/fixtures/pipeline002.yaml
:language: yaml
You can build pipeline jobs that are re-usable in different pipelines by You can build pipeline jobs that are re-usable in different pipelines by
@ -1352,10 +1321,10 @@ def claim_build(parser, xml_parent, data):
Claim build failures Claim build failures
Requires the Jenkins :jenkins-wiki:`Claim Plugin <Claim+plugin>`. Requires the Jenkins :jenkins-wiki:`Claim Plugin <Claim+plugin>`.
Example:: Example:
publishers: .. literalinclude:: /../../tests/publishers/fixtures/claim-build001.yaml
- claim-build :language: yaml
""" """
XML.SubElement(xml_parent, 'hudson.plugins.claim.ClaimPublisher') XML.SubElement(xml_parent, 'hudson.plugins.claim.ClaimPublisher')
@ -1443,6 +1412,7 @@ def email_ext(parser, xml_parent, data):
Example: Example:
.. literalinclude:: /../../tests/publishers/fixtures/email-ext001.yaml .. literalinclude:: /../../tests/publishers/fixtures/email-ext001.yaml
:language: yaml
""" """
emailext = XML.SubElement(xml_parent, emailext = XML.SubElement(xml_parent,
@ -1529,12 +1499,10 @@ def fingerprint(parser, xml_parent, data):
:arg bool record-artifacts: fingerprint all archived artifacts :arg bool record-artifacts: fingerprint all archived artifacts
(default false) (default false)
Example:: Example:
publishers: .. literalinclude:: /../../tests/publishers/fixtures/fingerprint001.yaml
- fingerprint: :language: yaml
files: builddir/test*.xml
record-artifacts: false
""" """
finger = XML.SubElement(xml_parent, 'hudson.tasks.Fingerprinter') finger = XML.SubElement(xml_parent, 'hudson.tasks.Fingerprinter')
XML.SubElement(finger, 'targets').text = data.get('files', '') XML.SubElement(finger, 'targets').text = data.get('files', '')
@ -1548,11 +1516,11 @@ def aggregate_tests(parser, xml_parent, data):
:arg bool include-failed-builds: whether to include failed builds :arg bool include-failed-builds: whether to include failed builds
Example:: Example:
publishers: .. literalinclude::
- aggregate-tests: /../../tests/publishers/fixtures/aggregate-tests001.yaml
include-failed-builds: true :language: yaml
""" """
agg = XML.SubElement(xml_parent, agg = XML.SubElement(xml_parent,
'hudson.tasks.test.AggregatedTestResultPublisher') 'hudson.tasks.test.AggregatedTestResultPublisher')
@ -1588,29 +1556,10 @@ def cppcheck(parser, xml_parent, data):
for more optional parameters see the example for more optional parameters see the example
Example:: Example:
publishers: .. literalinclude:: /../../tests/publishers/fixtures/cppcheck001.yaml
- cppcheck: :language: yaml
pattern: "**/cppcheck.xml"
# the rest is optional
# build status (new) error count thresholds
thresholds:
unstable: 5
new-unstable: 5
failure: 7
new-failure: 3
# severities which count towards the threshold, default all true
severity:
error: true
warning: true
information: false
graph:
xysize: [500, 200]
# which errors to display, default only sum
display:
sum: false
error: true
""" """
cppextbase = XML.SubElement(xml_parent, cppextbase = XML.SubElement(xml_parent,
'org.jenkinsci.plugins.cppcheck.' 'org.jenkinsci.plugins.cppcheck.'
@ -1672,13 +1621,10 @@ def logparser(parser, xml_parent, data):
:arg bool unstable-on-warning: mark build unstable on warning :arg bool unstable-on-warning: mark build unstable on warning
:arg bool fail-on-error: mark build failed on error :arg bool fail-on-error: mark build failed on error
Example:: Example:
publishers: .. literalinclude:: /../../tests/publishers/fixtures/logparser001.yaml
- logparser: :language: yaml
parse-rules: "/path/to/parserules"
unstable-on-warning: true
fail-on-error: true
""" """
clog = XML.SubElement(xml_parent, clog = XML.SubElement(xml_parent,
@ -1703,15 +1649,11 @@ def copy_to_master(parser, xml_parent, data):
If left blank they will be copied into the If left blank they will be copied into the
workspace of the current job workspace of the current job
Example:: Example:
publishers: .. literalinclude::
- copy-to-master: /../../tests/publishers/fixtures/copy-to-master001.yaml
includes: :language: yaml
- file1
- file2*.txt
excludes:
- file2bad.txt
""" """
p = 'com.michelin.cio.hudson.plugins.copytoslave.CopyToMasterNotifier' p = 'com.michelin.cio.hudson.plugins.copytoslave.CopyToMasterNotifier'
cm = XML.SubElement(xml_parent, p) cm = XML.SubElement(xml_parent, p)
@ -1731,10 +1673,10 @@ def jira(parser, xml_parent, data):
Update relevant JIRA issues Update relevant JIRA issues
Requires the Jenkins :jenkins-wiki:`JIRA Plugin <JIRA+Plugin>`. Requires the Jenkins :jenkins-wiki:`JIRA Plugin <JIRA+Plugin>`.
Example:: Example:
publishers: .. literalinclude:: /../../tests/publishers/fixtures/jira001.yaml
- jira :language: yaml
""" """
XML.SubElement(xml_parent, 'hudson.plugins.jira.JiraIssueUpdater') XML.SubElement(xml_parent, 'hudson.plugins.jira.JiraIssueUpdater')
@ -1747,11 +1689,11 @@ def groovy_postbuild(parser, xml_parent, data):
:Parameter: the groovy script to execute :Parameter: the groovy script to execute
Example:: Example:
publishers:
- groovy-postbuild: "manager.buildFailure()"
.. literalinclude::
/../../tests/publishers/fixtures/groovy-postbuild001.yaml
:language: yaml
""" """
root_tag = 'org.jvnet.hudson.plugins.groovypostbuild.'\ root_tag = 'org.jvnet.hudson.plugins.groovypostbuild.'\
'GroovyPostbuildRecorder' 'GroovyPostbuildRecorder'
@ -1855,6 +1797,7 @@ def cigame(parser, xml_parent, data):
Example: Example:
.. literalinclude:: /../../tests/publishers/fixtures/cigame.yaml .. literalinclude:: /../../tests/publishers/fixtures/cigame.yaml
:language: yaml
""" """
XML.SubElement(xml_parent, 'hudson.plugins.cigame.GamePublisher') XML.SubElement(xml_parent, 'hudson.plugins.cigame.GamePublisher')
@ -1881,19 +1824,10 @@ def sonar(parser, xml_parent, data):
This publisher supports the post-build action exposed by the Jenkins This publisher supports the post-build action exposed by the Jenkins
Sonar Plugin, which is triggering a Sonar Analysis with Maven. Sonar Plugin, which is triggering a Sonar Analysis with Maven.
Example:: Example:
publishers: .. literalinclude:: /../../tests/publishers/fixtures/sonar001.yaml
- sonar: :language: yaml
jdk: MyJdk
branch: myBranch
language: java
maven-opts: -DskipTests
additional-properties: -DsonarHostURL=http://example.com/
skip-global-triggers:
skip-when-scm-change: true
skip-when-upstream-build: true
skip-when-envvar-defined: SKIP_SONAR
""" """
sonar = XML.SubElement(xml_parent, 'hudson.plugins.sonar.SonarPublisher') sonar = XML.SubElement(xml_parent, 'hudson.plugins.sonar.SonarPublisher')
if 'jdk' in data: if 'jdk' in data:
@ -1931,33 +1865,16 @@ def performance(parser, xml_parent, data):
:(jmeter or junit): (`dict` or `str`): Specify a custom report file :(jmeter or junit): (`dict` or `str`): Specify a custom report file
(optional; jmeter default \**/*.jtl, junit default **/TEST-\*.xml) (optional; jmeter default \**/*.jtl, junit default **/TEST-\*.xml)
Examples:: Examples:
publishers: .. literalinclude:: /../../tests/publishers/fixtures/performance001.yaml
- performance: :language: yaml
failed-threshold: 85
unstable-threshold: -1
report:
- jmeter: "/special/file.jtl"
- junit: "/special/file.xml"
publishers: .. literalinclude:: /../../tests/publishers/fixtures/performance002.yaml
- performance: :language: yaml
failed-threshold: 85
unstable-threshold: -1
report:
- jmeter
- junit
publishers: .. literalinclude:: /../../tests/publishers/fixtures/performance003.yaml
- performance: :language: yaml
failed-threshold: 85
unstable-threshold: -1
report:
- jmeter: "/special/file.jtl"
- junit: "/special/file.xml"
- jmeter
- junit
""" """
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)
@ -1970,7 +1887,7 @@ def performance(parser, xml_parent, data):
parsers = XML.SubElement(perf, 'parsers') parsers = XML.SubElement(perf, 'parsers')
for item in data['report']: for item in data['report']:
if isinstance(item, dict): if isinstance(item, dict):
item_name = item.keys()[0] item_name = next(iter(item.keys()))
item_values = item.get(item_name, None) item_values = item.get(item_name, None)
if item_name == 'jmeter': if item_name == 'jmeter':
jmhold = XML.SubElement(parsers, 'hudson.plugins.performance.' jmhold = XML.SubElement(parsers, 'hudson.plugins.performance.'
@ -2005,13 +1922,10 @@ def join_trigger(parser, xml_parent, data):
:arg list projects: list of projects to trigger :arg list projects: list of projects to trigger
Example:: Example:
publishers: .. literalinclude:: /../../tests/publishers/fixtures/join-trigger001.yaml
- join-trigger: :language: yaml
projects:
- project-one
- project-two
""" """
jointrigger = XML.SubElement(xml_parent, 'join.JoinTrigger') jointrigger = XML.SubElement(xml_parent, 'join.JoinTrigger')
@ -2054,17 +1968,10 @@ def jabber(parser, xml_parent, data):
* **summary-build** -- Summary and build parameters * **summary-build** -- Summary and build parameters
* **summary-scm-fail** -- Summary, SCM changes, and failed tests * **summary-scm-fail** -- Summary, SCM changes, and failed tests
Example:: Example:
publishers: .. literalinclude:: /../../tests/publishers/fixtures/jabber001.yaml
- jabber: :language: yaml
notify-on-build-start: true
group-targets:
- "foo-room@conference-2-fooserver.foo.com"
individual-targets:
- "foo-user@conference-2-fooserver.foo.com"
strategy: all
message: summary-scm
""" """
j = XML.SubElement(xml_parent, 'hudson.plugins.jabber.im.transport.' j = XML.SubElement(xml_parent, 'hudson.plugins.jabber.im.transport.'
'JabberPublisher') 'JabberPublisher')
@ -2136,15 +2043,11 @@ def workspace_cleanup(parser, xml_parent, data):
:arg bool fail-build: Fail the build if the cleanup fails (default: true) :arg bool fail-build: Fail the build if the cleanup fails (default: true)
:arg bool clean-parent: Cleanup matrix parent workspace (default: false) :arg bool clean-parent: Cleanup matrix parent workspace (default: false)
Example:: Example:
publishers: .. literalinclude::
- workspace-cleanup: /../../tests/publishers/fixtures/workspace-cleanup001.yaml
include: :language: yaml
- "*.zip"
clean-if:
- success: true
- not-built: false
""" """
p = XML.SubElement(xml_parent, p = XML.SubElement(xml_parent,
@ -2168,14 +2071,16 @@ def workspace_cleanup(parser, xml_parent, data):
XML.SubElement(p, 'cleanupMatrixParent').text = \ XML.SubElement(p, 'cleanupMatrixParent').text = \
str(data.get("clean-parent", False)).lower() str(data.get("clean-parent", False)).lower()
mask = {'success': 'cleanWhenSuccess', 'unstable': 'cleanWhenUnstable', mask = [('success', 'cleanWhenSuccess'),
'failure': 'cleanWhenFailure', 'not-built': 'cleanWhenNotBuilt', ('unstable', 'cleanWhenUnstable'),
'aborted': 'cleanWhenAborted'} ('failure', 'cleanWhenFailure'),
('not-built', 'cleanWhenNotBuilt'),
('aborted', 'cleanWhenAborted')]
clean = data.get('clean-if', []) clean = data.get('clean-if', [])
cdict = dict() cdict = dict()
for d in clean: for d in clean:
cdict.update(d) cdict.update(d)
for k, v in mask.iteritems(): for k, v in mask:
XML.SubElement(p, v).text = str(cdict.pop(k, True)).lower() XML.SubElement(p, v).text = str(cdict.pop(k, True)).lower()
if len(cdict) > 0: if len(cdict) > 0:
@ -2199,14 +2104,10 @@ def maven_deploy(parser, xml_parent, data):
(default false) (default false)
Example:: Example:
publishers: .. literalinclude:: /../../tests/publishers/fixtures/maven-deploy001.yaml
- maven-deploy: :language: yaml
id: example
url: http://repo.example.com/maven2/
unique-version: true
deploy-unstable: false
""" """
p = XML.SubElement(xml_parent, 'hudson.maven.RedeployPublisher') p = XML.SubElement(xml_parent, 'hudson.maven.RedeployPublisher')
@ -2238,15 +2139,10 @@ def text_finder(parser, xml_parent, data):
Set build unstable instead of failing the build (default False) Set build unstable instead of failing the build (default False)
Example:: Example:
publishers: .. literalinclude:: /../../tests/publishers/fixtures/text-finder001.yaml
- text-finder: :language: yaml
regexp: "some string"
fileset: "file.txt"
also-check-console-output: true
succeed-if-found: false
unstable-if-found: false
""" """
finder = XML.SubElement(xml_parent, finder = XML.SubElement(xml_parent,
@ -2276,15 +2172,10 @@ def html_publisher(parser, xml_parent, data):
:arg bool allow-missing: Allow missing HTML reports (Default False) :arg bool allow-missing: Allow missing HTML reports (Default False)
Example:: Example:
publishers: .. literalinclude:: /../../tests/publishers/fixtures/html-publisher001.yaml
- html-publisher: :language: yaml
name: "some name"
dir: "path/"
files: "index.html"
keep-all: true
allow-missing: true
""" """
reporter = XML.SubElement(xml_parent, 'htmlpublisher.HtmlPublisher') reporter = XML.SubElement(xml_parent, 'htmlpublisher.HtmlPublisher')
@ -2358,12 +2249,10 @@ def tap(parser, xml_parent, data):
:arg bool todo-is-failure: Handle TODO's as failures (Default True) :arg bool todo-is-failure: Handle TODO's as failures (Default True)
Example:: Example:
publishers: .. literalinclude:: /../../tests/publishers/fixtures/tap001.yaml
- tap: :language: yaml
results: puiparts.tap
todo-is-failure: false
""" """
tap = XML.SubElement(xml_parent, 'org.tap4j.plugin.TapPublisher') tap = XML.SubElement(xml_parent, 'org.tap4j.plugin.TapPublisher')
@ -2412,21 +2301,10 @@ def post_tasks(parser, xml_parent, data):
(default 'false') (default 'false')
:arg str task[script]: Shell script to run (default '') :arg str task[script]: Shell script to run (default '')
Example:: Example:
publishers: .. literalinclude:: /../../tests/publishers/fixtures/post-tasks001.yaml
- post-tasks: :language: yaml
- matches:
- log-text: line to match
operator: AND
- log-text: line to match
operator: OR
- log-text: line to match
operator: AND
escalate-status: false
run-if-job-successful:false
script: |
echo "Here goes the task script"
""" """
pb_xml = XML.SubElement(xml_parent, pb_xml = XML.SubElement(xml_parent,
@ -2482,19 +2360,21 @@ def postbuildscript(parser, xml_parent, data):
Example: Example:
.. literalinclude:: /../../tests/publishers/fixtures/\ .. literalinclude::
postbuildscript001.yaml /../../tests/publishers/fixtures/postbuildscript001.yaml
:language: yaml
You can also execute :doc:`builders </builders>`: You can also execute :doc:`builders </builders>`:
.. literalinclude:: /../../tests/publishers/fixtures/\ .. literalinclude::
postbuildscript002.yaml /../../tests/publishers/fixtures/postbuildscript002.yaml
:language: yaml
Run once after the whole matrix (all axes) is built: Run once after the whole matrix (all axes) is built:
.. literalinclude:: /../../tests/publishers/fixtures/\ .. literalinclude::
postbuildscript003.yaml /../../tests/publishers/fixtures/postbuildscript003.yaml
:language: yaml
""" """
pbs_xml = XML.SubElement( pbs_xml = XML.SubElement(
@ -2586,11 +2466,10 @@ def xml_summary(parser, xml_parent, data):
:arg str files: Files to parse (default '') :arg str files: Files to parse (default '')
Example:: Example:
publishers: .. literalinclude:: /../../tests/publishers/fixtures/xml-summary001.yaml
- xml-summary: :language: yaml
files: '*_summary_report.xml'
""" """
summary = XML.SubElement(xml_parent, summary = XML.SubElement(xml_parent,
@ -2624,21 +2503,10 @@ def robot(parser, xml_parent, data):
checking the thresholds (default true) checking the thresholds (default true)
:arg list other-files: list other files to archive (default '') :arg list other-files: list other files to archive (default '')
Example:: Example:
- publishers: .. literalinclude:: /../../tests/publishers/fixtures/robot001.yaml
- robot: :language: yaml
output-path: reports/robot
log-file-link: report.html
report-html: report.html
log-html: log.html
output-xml: output.xml
pass-threshold: 80.0
unstable-threshold: 60.0
only-critical: false
other-files:
- extra-file1.html
- extra-file2.txt
""" """
parent = XML.SubElement(xml_parent, 'hudson.plugins.robot.RobotPublisher') parent = XML.SubElement(xml_parent, 'hudson.plugins.robot.RobotPublisher')
XML.SubElement(parent, 'outputPath').text = data['output-path'] XML.SubElement(parent, 'outputPath').text = data['output-path']
@ -2756,51 +2624,10 @@ def warnings(parser, xml_parent, data):
:arg str default-encoding: Default encoding when parsing or showing files :arg str default-encoding: Default encoding when parsing or showing files
Leave empty to use default encoding of platform (default '') Leave empty to use default encoding of platform (default '')
Example:: Example:
publishers: .. literalinclude:: /../../tests/publishers/fixtures/warnings001.yaml
- warnings: :language: yaml
console-log-parsers:
- FxCop
- CodeAnalysis
workspace-file-scanners:
- file-pattern: '**/*.out'
scanner: 'AcuCobol Compiler'
- file-pattern: '**/*.warnings'
scanner: FxCop
files-to-include: '[a-zA-Z]\.java,[a-zA-Z]\.cpp'
files-to-ignore: '[a-zA-Z]\.html,[a-zA-Z]\.js'
run-always: true
detect-modules: true
resolve-relative-paths: true
health-threshold-high: 50
health-threshold-low: 25
health-priorities: high-and-normal
total-thresholds:
unstable:
total-all: 90
total-high: 90
total-normal: 40
total-low: 30
failed:
total-all: 100
total-high: 100
total-normal: 50
total-low: 40
new-thresholds:
unstable:
new-all: 100
new-high: 50
new-normal: 30
new-low: 10
failed:
new-all: 100
new-high: 60
new-normal: 50
new-low: 40
use-delta-for-new-warnings: true
only-use-stable-builds-as-reference: true
default-encoding: ISO-8859-9
""" """
warnings = XML.SubElement(xml_parent, warnings = XML.SubElement(xml_parent,
@ -2887,13 +2714,10 @@ def sloccount(parser, xml_parent, data):
:arg str charset: The character encoding to be used to read the SLOCCount :arg str charset: The character encoding to be used to read the SLOCCount
result files. (default: 'UTF-8') result files. (default: 'UTF-8')
Example:: Example:
publishers:
- sloccount:
report-files: sloccount.sc
charset: UTF-8
.. literalinclude:: /../../tests/publishers/fixtures/sloccount001.yaml
:language: yaml
""" """
top = XML.SubElement(xml_parent, top = XML.SubElement(xml_parent,
'hudson.plugins.sloccount.SloccountPublisher') 'hudson.plugins.sloccount.SloccountPublisher')
@ -2964,6 +2788,7 @@ def ircbot(parser, xml_parent, data):
Example: Example:
.. literalinclude:: /../../tests/publishers/fixtures/ircbot001.yaml .. literalinclude:: /../../tests/publishers/fixtures/ircbot001.yaml
:language: yaml
""" """
top = XML.SubElement(xml_parent, 'hudson.plugins.ircbot.IrcPublisher') top = XML.SubElement(xml_parent, 'hudson.plugins.ircbot.IrcPublisher')
message_dict = {'summary-scm': 'DefaultBuildToChatNotifier', message_dict = {'summary-scm': 'DefaultBuildToChatNotifier',
@ -3079,37 +2904,10 @@ def plot(parser, xml_parent, data):
Xpath which selects the values that should be plotted. Xpath which selects the values that should be plotted.
Example:: Example:
publishers:
- plot:
- title: MyPlot
yaxis: Y
group: PlotGroup
num-builds: ''
style: line
use-description: false
series:
- file: graph-me-second.properties
label: MyLabel
format: properties
- file: graph-me-first.csv
url: 'http://srv1'
inclusion-flag: 'off'
display-table: true
format: csv
- title: MyPlot2
yaxis: Y
group: PlotGroup
style: line
use-description: false
series:
- file: graph-me-third.xml
url: 'http://srv2'
format: xml
xpath-type: 'node'
xpath: '/*'
.. literalinclude:: /../../tests/publishers/fixtures/plot004.yaml
:language: yaml
""" """
top = XML.SubElement(xml_parent, 'hudson.plugins.plot.PlotPublisher') top = XML.SubElement(xml_parent, 'hudson.plugins.plot.PlotPublisher')
plots = XML.SubElement(top, 'plots') plots = XML.SubElement(top, 'plots')
@ -3222,30 +3020,10 @@ def git(parser, xml_parent, data):
(Default: False) (Default: False)
Example:: Example:
publishers:
- git:
push-merge: true
push-only-if-success: false
tags:
- tag:
remote: tagremotename
name: tagname
message: "some tag message"
create-tag: true
update-tag: true
branches:
- branch:
remote: branchremotename
name: "some/branch"
notes:
- note:
remote: remotename
message: "some note to push"
namespace: commits
replace-note: true
.. literalinclude:: /../../tests/publishers/fixtures/git001.yaml
:language: yaml
""" """
mappings = [('push-merge', 'pushMerge', False), mappings = [('push-merge', 'pushMerge', False),
('push-only-if-success', 'pushOnlyIfSuccess', True)] ('push-only-if-success', 'pushOnlyIfSuccess', True)]
@ -3315,6 +3093,7 @@ def github_notifier(parser, xml_parent, data):
Example: Example:
.. literalinclude:: /../../tests/publishers/fixtures/github-notifier.yaml .. literalinclude:: /../../tests/publishers/fixtures/github-notifier.yaml
:language: yaml
""" """
XML.SubElement(xml_parent, XML.SubElement(xml_parent,
'com.cloudbees.jenkins.GitHubCommitNotifier') 'com.cloudbees.jenkins.GitHubCommitNotifier')
@ -3337,7 +3116,8 @@ def build_publisher(parser, xml_parent, data):
Example: Example:
.. literalinclude:: .. literalinclude::
/../../tests/publishers/fixtures/build-publisher002.yaml /../../tests/publishers/fixtures/build-publisher002.yaml
:language: yaml
""" """
reporter = XML.SubElement( reporter = XML.SubElement(
@ -3380,6 +3160,7 @@ def stash(parser, xml_parent, data):
Example: Example:
.. literalinclude:: /../../tests/publishers/fixtures/stash001.yaml .. literalinclude:: /../../tests/publishers/fixtures/stash001.yaml
:language: yaml
""" """
top = XML.SubElement(xml_parent, top = XML.SubElement(xml_parent,
@ -3415,8 +3196,8 @@ def description_setter(parser, xml_parent, data):
Example: Example:
.. literalinclude:: .. literalinclude::
/../../tests/publishers/fixtures/description-setter001.yaml /../../tests/publishers/fixtures/description-setter001.yaml
:language: yaml
""" """
descriptionsetter = XML.SubElement( descriptionsetter = XML.SubElement(
@ -3450,7 +3231,7 @@ def doxygen(parser, xml_parent, data):
Example: Example:
.. literalinclude:: /../../tests/publishers/fixtures/doxygen001.yaml .. literalinclude:: /../../tests/publishers/fixtures/doxygen001.yaml
:language: yaml
""" """
p = XML.SubElement(xml_parent, 'hudson.plugins.doxygen.DoxygenArchiver') p = XML.SubElement(xml_parent, 'hudson.plugins.doxygen.DoxygenArchiver')
if not data['doxyfile']: if not data['doxyfile']:
@ -3472,7 +3253,7 @@ def sitemonitor(parser, xml_parent, data):
Example: Example:
.. literalinclude:: /../../tests/publishers/fixtures/sitemonitor001.yaml .. literalinclude:: /../../tests/publishers/fixtures/sitemonitor001.yaml
:language: yaml
""" """
mon = XML.SubElement(xml_parent, mon = XML.SubElement(xml_parent,
'hudson.plugins.sitemonitor.SiteMonitorRecorder') 'hudson.plugins.sitemonitor.SiteMonitorRecorder')
@ -3500,7 +3281,7 @@ def testng(parser, xml_parent, data):
Example: Example:
.. literalinclude:: /../../tests/publishers/fixtures/testng001.yaml .. literalinclude:: /../../tests/publishers/fixtures/testng001.yaml
:language: yaml
""" """
reporter = XML.SubElement(xml_parent, 'hudson.plugins.testng.Publisher') reporter = XML.SubElement(xml_parent, 'hudson.plugins.testng.Publisher')
@ -3542,7 +3323,7 @@ def artifact_deployer(parser, xml_parent, data):
Example: Example:
.. literalinclude:: /../../tests/publishers/fixtures/artifact-dep.yaml .. literalinclude:: /../../tests/publishers/fixtures/artifact-dep.yaml
:language: yaml
""" """
deployer = XML.SubElement(xml_parent, deployer = XML.SubElement(xml_parent,
@ -3671,7 +3452,7 @@ def ruby_metrics(parser, xml_parent, data):
Example: Example:
.. literalinclude:: /../../tests/publishers/fixtures/ruby-metrics.yaml .. literalinclude:: /../../tests/publishers/fixtures/ruby-metrics.yaml
:language: yaml
""" """
metrics = XML.SubElement( metrics = XML.SubElement(
@ -3710,7 +3491,7 @@ def fitnesse(parser, xml_parent, data):
Example: Example:
.. literalinclude:: /../../tests/publishers/fixtures/fitnesse001.yaml .. literalinclude:: /../../tests/publishers/fixtures/fitnesse001.yaml
:language: yaml
""" """
fitnesse = XML.SubElement( fitnesse = XML.SubElement(
xml_parent, xml_parent,
@ -3751,7 +3532,7 @@ def valgrind(parser, xml_parent, data):
Example: Example:
.. literalinclude:: /../../tests/publishers/fixtures/valgrind001.yaml .. literalinclude:: /../../tests/publishers/fixtures/valgrind001.yaml
:language: yaml
""" """
p = XML.SubElement(xml_parent, p = XML.SubElement(xml_parent,
'org.jenkinsci.plugins.valgrind.ValgrindPublisher') 'org.jenkinsci.plugins.valgrind.ValgrindPublisher')
@ -3838,11 +3619,12 @@ def pmd(parser, xml_parent, data):
Example: Example:
.. literalinclude:: /../../tests/publishers/fixtures/pmd001.yaml .. literalinclude:: /../../tests/publishers/fixtures/pmd001.yaml
:language: yaml
Full example: Full example:
.. literalinclude:: /../../tests/publishers/fixtures/pmd002.yaml .. literalinclude:: /../../tests/publishers/fixtures/pmd002.yaml
:language: yaml
""" """
xml_element = XML.SubElement(xml_parent, 'hudson.plugins.pmd.PmdPublisher') xml_element = XML.SubElement(xml_parent, 'hudson.plugins.pmd.PmdPublisher')
@ -3867,7 +3649,7 @@ def scan_build(parser, xml_parent, data):
Example: Example:
.. literalinclude:: /../../tests/publishers/fixtures/scan-build001.yaml .. literalinclude:: /../../tests/publishers/fixtures/scan-build001.yaml
:language: yaml
""" """
threshold = str(data.get('threshold', 0)) threshold = str(data.get('threshold', 0))
if not threshold.isdigit(): if not threshold.isdigit():
@ -3941,11 +3723,12 @@ def dry(parser, xml_parent, data):
Example: Example:
.. literalinclude:: /../../tests/publishers/fixtures/dry001.yaml .. literalinclude:: /../../tests/publishers/fixtures/dry001.yaml
:language: yaml
Full example: Full example:
.. literalinclude:: /../../tests/publishers/fixtures/dry004.yaml .. literalinclude:: /../../tests/publishers/fixtures/dry004.yaml
:language: yaml
""" """
xml_element = XML.SubElement(xml_parent, 'hudson.plugins.dry.DryPublisher') xml_element = XML.SubElement(xml_parent, 'hudson.plugins.dry.DryPublisher')

View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<project>
<publishers>
<hudson.tasks.test.AggregatedTestResultPublisher>
<includeFailedBuilds>true</includeFailedBuilds>
</hudson.tasks.test.AggregatedTestResultPublisher>
</publishers>
</project>

View File

@ -0,0 +1,3 @@
publishers:
- aggregate-tests:
include-failed-builds: true

View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<project>
<publishers>
<hudson.plugins.claim.ClaimPublisher/>
</publishers>
</project>

View File

@ -0,0 +1,2 @@
publishers:
- claim-build

View File

@ -0,0 +1,52 @@
<?xml version="1.0" encoding="utf-8"?>
<project>
<publishers>
<hudson.plugins.cobertura.CoberturaPublisher>
<coberturaReportFile>/reports/cobertura/coverage.xml</coberturaReportFile>
<onlyStable>true</onlyStable>
<failUnhealthy>true</failUnhealthy>
<failUnstable>true</failUnstable>
<autoUpdateHealth>true</autoUpdateHealth>
<autoUpdateStability>true</autoUpdateStability>
<zoomCoverageChart>true</zoomCoverageChart>
<failNoReports>true</failNoReports>
<healthyTarget>
<targets class="enum-map" enum-type="hudson.plugins.cobertura.targets.CoverageMetric">
<entry>
<hudson.plugins.cobertura.targets.CoverageMetric>FILES</hudson.plugins.cobertura.targets.CoverageMetric>
<int>10</int>
</entry>
<entry>
<hudson.plugins.cobertura.targets.CoverageMetric>METHOD</hudson.plugins.cobertura.targets.CoverageMetric>
<int>50</int>
</entry>
</targets>
</healthyTarget>
<unhealthyTarget>
<targets class="enum-map" enum-type="hudson.plugins.cobertura.targets.CoverageMetric">
<entry>
<hudson.plugins.cobertura.targets.CoverageMetric>FILES</hudson.plugins.cobertura.targets.CoverageMetric>
<int>20</int>
</entry>
<entry>
<hudson.plugins.cobertura.targets.CoverageMetric>METHOD</hudson.plugins.cobertura.targets.CoverageMetric>
<int>40</int>
</entry>
</targets>
</unhealthyTarget>
<failingTarget>
<targets class="enum-map" enum-type="hudson.plugins.cobertura.targets.CoverageMetric">
<entry>
<hudson.plugins.cobertura.targets.CoverageMetric>FILES</hudson.plugins.cobertura.targets.CoverageMetric>
<int>30</int>
</entry>
<entry>
<hudson.plugins.cobertura.targets.CoverageMetric>METHOD</hudson.plugins.cobertura.targets.CoverageMetric>
<int>30</int>
</entry>
</targets>
</failingTarget>
<sourceEncoding>Big5</sourceEncoding>
</hudson.plugins.cobertura.CoberturaPublisher>
</publishers>
</project>

View File

@ -0,0 +1,20 @@
publishers:
- cobertura:
report-file: "/reports/cobertura/coverage.xml"
only-stable: "true"
fail-no-reports: "true"
fail-unhealthy: "true"
fail-unstable: "true"
health-auto-update: "true"
stability-auto-update: "true"
zoom-coverage-chart: "true"
source-encoding: "Big5"
targets:
- files:
healthy: 10
unhealthy: 20
failing: 30
- method:
healthy: 50
unhealthy: 40
failing: 30

View File

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<project>
<publishers>
<com.michelin.cio.hudson.plugins.copytoslave.CopyToMasterNotifier>
<includes>file1,file2*.txt</includes>
<excludes>file2bad.txt</excludes>
<destinationFolder/>
</com.michelin.cio.hudson.plugins.copytoslave.CopyToMasterNotifier>
</publishers>
</project>

View File

@ -0,0 +1,7 @@
publishers:
- copy-to-master:
includes:
- file1
- file2*.txt
excludes:
- file2bad.txt

View File

@ -0,0 +1,58 @@
<?xml version="1.0" encoding="utf-8"?>
<project>
<publishers>
<hudson.plugins.cobertura.CoberturaPublisher>
<coberturaReportFile>**/coverage.xml</coberturaReportFile>
<onlyStable>false</onlyStable>
<healthyTarget>
<targets class="enum-map" enum-type="hudson.plugins.cobertura.targets.CoverageMetric">
<entry>
<hudson.plugins.cobertura.targets.CoverageMetric>CONDITIONAL</hudson.plugins.cobertura.targets.CoverageMetric>
<int>70</int>
</entry>
<entry>
<hudson.plugins.cobertura.targets.CoverageMetric>LINE</hudson.plugins.cobertura.targets.CoverageMetric>
<int>80</int>
</entry>
<entry>
<hudson.plugins.cobertura.targets.CoverageMetric>METHOD</hudson.plugins.cobertura.targets.CoverageMetric>
<int>80</int>
</entry>
</targets>
</healthyTarget>
<unhealthyTarget>
<targets class="enum-map" enum-type="hudson.plugins.cobertura.targets.CoverageMetric">
<entry>
<hudson.plugins.cobertura.targets.CoverageMetric>CONDITIONAL</hudson.plugins.cobertura.targets.CoverageMetric>
<int>0</int>
</entry>
<entry>
<hudson.plugins.cobertura.targets.CoverageMetric>LINE</hudson.plugins.cobertura.targets.CoverageMetric>
<int>0</int>
</entry>
<entry>
<hudson.plugins.cobertura.targets.CoverageMetric>METHOD</hudson.plugins.cobertura.targets.CoverageMetric>
<int>0</int>
</entry>
</targets>
</unhealthyTarget>
<failingTarget>
<targets class="enum-map" enum-type="hudson.plugins.cobertura.targets.CoverageMetric">
<entry>
<hudson.plugins.cobertura.targets.CoverageMetric>CONDITIONAL</hudson.plugins.cobertura.targets.CoverageMetric>
<int>0</int>
</entry>
<entry>
<hudson.plugins.cobertura.targets.CoverageMetric>LINE</hudson.plugins.cobertura.targets.CoverageMetric>
<int>0</int>
</entry>
<entry>
<hudson.plugins.cobertura.targets.CoverageMetric>METHOD</hudson.plugins.cobertura.targets.CoverageMetric>
<int>0</int>
</entry>
</targets>
</failingTarget>
<sourceEncoding>ASCII</sourceEncoding>
</hudson.plugins.cobertura.CoberturaPublisher>
</publishers>
</project>

View File

@ -0,0 +1,2 @@
publishers:
- coverage

View File

@ -0,0 +1,34 @@
<?xml version="1.0" encoding="utf-8"?>
<project>
<publishers>
<org.jenkinsci.plugins.cppcheck.CppcheckPublisher>
<cppcheckConfig>
<pattern>**/cppcheck.xml</pattern>
<ignoreBlankFiles>false</ignoreBlankFiles>
<configSeverityEvaluation>
<threshold>5</threshold>
<newThreshold>5</newThreshold>
<failureThreshold>7</failureThreshold>
<newFailureThreshold>3</newFailureThreshold>
<healthy/>
<unHealthy/>
<severityError>true</severityError>
<severityWarning>true</severityWarning>
<severityStyle>true</severityStyle>
<severityPerformance>true</severityPerformance>
<severityInformation>false</severityInformation>
</configSeverityEvaluation>
<configGraph>
<xSize>500</xSize>
<ySize>200</ySize>
<displayAllErrors>false</displayAllErrors>
<displayErrorSeverity>true</displayErrorSeverity>
<displayWarningSeverity>false</displayWarningSeverity>
<displayStyleSeverity>false</displayStyleSeverity>
<displayPerformanceSeverity>false</displayPerformanceSeverity>
<displayInformationSeverity>false</displayInformationSeverity>
</configGraph>
</cppcheckConfig>
</org.jenkinsci.plugins.cppcheck.CppcheckPublisher>
</publishers>
</project>

View File

@ -0,0 +1,21 @@
publishers:
- cppcheck:
pattern: "**/cppcheck.xml"
# the rest is optional
# build status (new) error count thresholds
thresholds:
unstable: 5
new-unstable: 5
failure: 7
new-failure: 3
# severities which count towards the threshold, default all true
severity:
error: true
warning: true
information: false
graph:
xysize: [500, 200]
# which errors to display, default only sum
display:
sum: false
error: true

View File

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<project>
<publishers>
<hudson.tasks.Fingerprinter>
<targets>builddir/test*.xml</targets>
<recordBuildArtifacts>false</recordBuildArtifacts>
</hudson.tasks.Fingerprinter>
</publishers>
</project>

View File

@ -0,0 +1,4 @@
publishers:
- fingerprint:
files: builddir/test*.xml
record-artifacts: false

View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<project>
<publishers>
<org.jvnet.hudson.plugins.groovypostbuild.GroovyPostbuildRecorder>
<groovyScript>manager.buildFailure()</groovyScript>
</org.jvnet.hudson.plugins.groovypostbuild.GroovyPostbuildRecorder>
</publishers>
</project>

View File

@ -0,0 +1,2 @@
publishers:
- groovy-postbuild: "manager.buildFailure()"

View File

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="utf-8"?>
<project>
<publishers>
<htmlpublisher.HtmlPublisher>
<reportTargets>
<htmlpublisher.HtmlPublisherTarget>
<reportName>some name</reportName>
<reportDir>path/</reportDir>
<reportFiles>index.html</reportFiles>
<keepAll>true</keepAll>
<allowMissing>true</allowMissing>
<wrapperName>htmlpublisher-wrapper.html</wrapperName>
</htmlpublisher.HtmlPublisherTarget>
</reportTargets>
</htmlpublisher.HtmlPublisher>
</publishers>
</project>

View File

@ -0,0 +1,7 @@
publishers:
- html-publisher:
name: "some name"
dir: "path/"
files: "index.html"
keep-all: true
allow-missing: true

View File

@ -0,0 +1,24 @@
<?xml version="1.0" encoding="utf-8"?>
<project>
<publishers>
<hudson.plugins.jabber.im.transport.JabberPublisher>
<targets>
<hudson.plugins.im.GroupChatIMMessageTarget>
<name>foo-room@conference-2-fooserver.foo.com</name>
<notificationOnly>false</notificationOnly>
</hudson.plugins.im.GroupChatIMMessageTarget>
<hudson.plugins.im.DefaultIMMessageTarget>
<value>foo-user@conference-2-fooserver.foo.com</value>
</hudson.plugins.im.DefaultIMMessageTarget>
</targets>
<strategy>ALL</strategy>
<notifyOnBuildStart>true</notifyOnBuildStart>
<notifySuspects>false</notifySuspects>
<notifyCulprits>false</notifyCulprits>
<notifyFixers>false</notifyFixers>
<notifyUpstreamCommitters>false</notifyUpstreamCommitters>
<buildToChatNotifier class="hudson.plugins.im.build_notify.DefaultBuildToChatNotifier"/>
<matrixMultiplier>ONLY_CONFIGURATIONS</matrixMultiplier>
</hudson.plugins.jabber.im.transport.JabberPublisher>
</publishers>
</project>

View File

@ -0,0 +1,9 @@
publishers:
- jabber:
notify-on-build-start: true
group-targets:
- "foo-room@conference-2-fooserver.foo.com"
individual-targets:
- "foo-user@conference-2-fooserver.foo.com"
strategy: all
message: summary-scm

View File

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="utf-8"?>
<project>
<publishers>
<hudson.plugins.jacoco.JacocoPublisher>
<execPattern>**/**.exec</execPattern>
<classPattern>**/classes</classPattern>
<sourcePattern>**/src/main/java</sourcePattern>
<changeBuildStatus/>
<inclusionPattern/>
<exclusionPattern/>
<maximumBranchCoverage>10</maximumBranchCoverage>
<minimumBranchCoverage>20</minimumBranchCoverage>
<maximumMethodCoverage>50</maximumMethodCoverage>
<minimumMethodCoverage>40</minimumMethodCoverage>
</hudson.plugins.jacoco.JacocoPublisher>
</publishers>
</project>

View File

@ -0,0 +1,13 @@
publishers:
- jacoco:
exec-pattern: "**/**.exec"
class-pattern: "**/classes"
source-pattern: "**/src/main/java"
status-update: true
targets:
- branch:
healthy: 10
unhealthy: 20
- method:
healthy: 50
unhealthy: 40

View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<project>
<publishers>
<hudson.plugins.jira.JiraIssueUpdater/>
</publishers>
</project>

View File

@ -0,0 +1,2 @@
publishers:
- jira

View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<project>
<publishers>
<join.JoinTrigger>
<joinProjects>project-one,project-two</joinProjects>
</join.JoinTrigger>
</publishers>
</project>

View File

@ -0,0 +1,5 @@
publishers:
- join-trigger:
projects:
- project-one
- project-two

View File

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<project>
<publishers>
<hudson.plugins.logparser.LogParserPublisher>
<unstableOnWarning>true</unstableOnWarning>
<failBuildOnError>true</failBuildOnError>
<parsingRulesPath>/path/to/parserules</parsingRulesPath>
</hudson.plugins.logparser.LogParserPublisher>
</publishers>
</project>

View File

@ -0,0 +1,5 @@
publishers:
- logparser:
parse-rules: "/path/to/parserules"
unstable-on-warning: true
fail-on-error: true

View File

@ -2,7 +2,8 @@
<project> <project>
<publishers> <publishers>
<hudson.maven.RedeployPublisher> <hudson.maven.RedeployPublisher>
<url>file:///path/to/repo</url> <id>example</id>
<url>http://repo.example.com/maven2/</url>
<uniqueVersion>true</uniqueVersion> <uniqueVersion>true</uniqueVersion>
<evenIfUnstable>false</evenIfUnstable> <evenIfUnstable>false</evenIfUnstable>
</hudson.maven.RedeployPublisher> </hudson.maven.RedeployPublisher>

View File

@ -0,0 +1,6 @@
publishers:
- maven-deploy:
id: example
url: http://repo.example.com/maven2/
unique-version: true
deploy-unstable: false

View File

@ -1,4 +0,0 @@
publishers:
- maven-deploy:
url: file:///path/to/repo

View File

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="utf-8"?>
<project>
<publishers>
<hudson.plugins.performance.PerformancePublisher>
<errorFailedThreshold>85</errorFailedThreshold>
<errorUnstableThreshold>-1</errorUnstableThreshold>
<parsers>
<hudson.plugins.performance.JMeterParser>
<glob>/special/file.jtl</glob>
</hudson.plugins.performance.JMeterParser>
<hudson.plugins.performance.JUnitParser>
<glob>/special/file.xml</glob>
</hudson.plugins.performance.JUnitParser>
</parsers>
</hudson.plugins.performance.PerformancePublisher>
</publishers>
</project>

View File

@ -0,0 +1,7 @@
publishers:
- performance:
failed-threshold: 85
unstable-threshold: -1
report:
- jmeter: "/special/file.jtl"
- junit: "/special/file.xml"

View File

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="utf-8"?>
<project>
<publishers>
<hudson.plugins.performance.PerformancePublisher>
<errorFailedThreshold>85</errorFailedThreshold>
<errorUnstableThreshold>-1</errorUnstableThreshold>
<parsers>
<hudson.plugins.performance.JMeterParser>
<glob>**/*.jtl</glob>
</hudson.plugins.performance.JMeterParser>
<hudson.plugins.performance.JUnitParser>
<glob>**/TEST-*.xml</glob>
</hudson.plugins.performance.JUnitParser>
</parsers>
</hudson.plugins.performance.PerformancePublisher>
</publishers>
</project>

View File

@ -0,0 +1,7 @@
publishers:
- performance:
failed-threshold: 85
unstable-threshold: -1
report:
- jmeter
- junit

View File

@ -0,0 +1,23 @@
<?xml version="1.0" encoding="utf-8"?>
<project>
<publishers>
<hudson.plugins.performance.PerformancePublisher>
<errorFailedThreshold>85</errorFailedThreshold>
<errorUnstableThreshold>-1</errorUnstableThreshold>
<parsers>
<hudson.plugins.performance.JMeterParser>
<glob>/special/file.jtl</glob>
</hudson.plugins.performance.JMeterParser>
<hudson.plugins.performance.JUnitParser>
<glob>/special/file.xml</glob>
</hudson.plugins.performance.JUnitParser>
<hudson.plugins.performance.JMeterParser>
<glob>**/*.jtl</glob>
</hudson.plugins.performance.JMeterParser>
<hudson.plugins.performance.JUnitParser>
<glob>**/TEST-*.xml</glob>
</hudson.plugins.performance.JUnitParser>
</parsers>
</hudson.plugins.performance.PerformancePublisher>
</publishers>
</project>

View File

@ -0,0 +1,9 @@
publishers:
- performance:
failed-threshold: 85
unstable-threshold: -1
report:
- jmeter: "/special/file.jtl"
- junit: "/special/file.xml"
- jmeter
- junit

View File

@ -0,0 +1,51 @@
<?xml version="1.0" encoding="utf-8"?>
<project>
<publishers>
<hudson.plugins.plot.PlotPublisher>
<plots>
<hudson.plugins.plot.Plot>
<title>MyPlot</title>
<yaxis>Y</yaxis>
<csvFileName>myplot.csv</csvFileName>
<series>
<hudson.plugins.plot.PropertiesSeries>
<file>graph-me-second.properties</file>
<label>MyLabel</label>
<fileType>properties</fileType>
</hudson.plugins.plot.PropertiesSeries>
<hudson.plugins.plot.CSVSeries>
<file>graph-me-first.csv</file>
<inclusionFlag>OFF</inclusionFlag>
<exclusionValues/>
<url>http://srv1</url>
<displayTableFlag>false</displayTableFlag>
<fileType>csv</fileType>
</hudson.plugins.plot.CSVSeries>
</series>
<group>PlotGroup</group>
<useDescr>false</useDescr>
<numBuilds/>
<style>line</style>
</hudson.plugins.plot.Plot>
<hudson.plugins.plot.Plot>
<title>MyPlot2</title>
<yaxis>Y</yaxis>
<csvFileName>myplot2.csv</csvFileName>
<series>
<hudson.plugins.plot.XMLSeries>
<file>graph-me-third.xml</file>
<url>http://srv2</url>
<xpathString>/*</xpathString>
<nodeTypeString>NODE</nodeTypeString>
<fileType>xml</fileType>
</hudson.plugins.plot.XMLSeries>
</series>
<group>PlotGroup</group>
<useDescr>false</useDescr>
<numBuilds/>
<style>line</style>
</hudson.plugins.plot.Plot>
</plots>
</hudson.plugins.plot.PlotPublisher>
</publishers>
</project>

View File

@ -0,0 +1,30 @@
publishers:
- plot:
- title: MyPlot
yaxis: Y
csv-file-name: myplot.csv
group: PlotGroup
num-builds: ''
style: line
use-description: false
series:
- file: graph-me-second.properties
label: MyLabel
format: properties
- file: graph-me-first.csv
url: 'http://srv1'
inclusion-flag: 'off'
display-table: true
format: csv
- title: MyPlot2
yaxis: Y
csv-file-name: myplot2.csv
group: PlotGroup
style: line
use-description: false
series:
- file: graph-me-third.xml
url: 'http://srv2'
format: xml
xpath-type: 'node'
xpath: '/*'

View File

@ -0,0 +1,29 @@
<?xml version="1.0" encoding="utf-8"?>
<project>
<publishers>
<hudson.plugins.postbuildtask.PostbuildTask>
<tasks>
<hudson.plugins.postbuildtask.TaskProperties>
<logTexts>
<hudson.plugins.postbuildtask.LogProperties>
<logText>line to match</logText>
<operator>AND</operator>
</hudson.plugins.postbuildtask.LogProperties>
<hudson.plugins.postbuildtask.LogProperties>
<logText>line to match</logText>
<operator>OR</operator>
</hudson.plugins.postbuildtask.LogProperties>
<hudson.plugins.postbuildtask.LogProperties>
<logText>line to match</logText>
<operator>AND</operator>
</hudson.plugins.postbuildtask.LogProperties>
</logTexts>
<EscalateStatus>true</EscalateStatus>
<RunIfJobSuccessful>true</RunIfJobSuccessful>
<script>echo &quot;Here goes the task script&quot;
</script>
</hudson.plugins.postbuildtask.TaskProperties>
</tasks>
</hudson.plugins.postbuildtask.PostbuildTask>
</publishers>
</project>

View File

@ -0,0 +1,13 @@
publishers:
- post-tasks:
- matches:
- log-text: line to match
operator: AND
- log-text: line to match
operator: OR
- log-text: line to match
operator: AND
escalate-status: true
run-if-job-successful: true
script: |
echo "Here goes the task script"

View File

@ -0,0 +1,19 @@
<?xml version="1.0" encoding="utf-8"?>
<project>
<publishers>
<hudson.plugins.robot.RobotPublisher>
<outputPath>reports/robot</outputPath>
<logFileLink>report.html</logFileLink>
<reportFileName>custom-report.html</reportFileName>
<logFileName>custom-log.html</logFileName>
<outputFileName>custom-output.xml</outputFileName>
<passThreshold>80.0</passThreshold>
<unstableThreshold>60.0</unstableThreshold>
<onlyCritical>false</onlyCritical>
<otherFiles>
<string>extra-file1.html</string>
<string>extra-file2.txt</string>
</otherFiles>
</hudson.plugins.robot.RobotPublisher>
</publishers>
</project>

View File

@ -0,0 +1,13 @@
publishers:
- robot:
output-path: reports/robot
log-file-link: report.html
report-html: custom-report.html
log-html: custom-log.html
output-xml: custom-output.xml
pass-threshold: 80.0
unstable-threshold: 60.0
only-critical: false
other-files:
- extra-file1.html
- extra-file2.txt

View File

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<project>
<publishers>
<hudson.plugins.sloccount.SloccountPublisher>
<pattern>sloccount.sc</pattern>
<encoding>latin-1</encoding>
</hudson.plugins.sloccount.SloccountPublisher>
</publishers>
</project>

View File

@ -0,0 +1,4 @@
publishers:
- sloccount:
report-files: sloccount.sc
charset: latin-1

View File

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="utf-8"?>
<project>
<publishers>
<hudson.plugins.sonar.SonarPublisher>
<jdk>MyJdk</jdk>
<branch>myBranch</branch>
<language>java</language>
<mavenOpts>-DskipTests</mavenOpts>
<jobAdditionalProperties>-DsonarHostURL=http://example.com/</jobAdditionalProperties>
<triggers>
<skipScmCause>true</skipScmCause>
<skipUpstreamCause>true</skipUpstreamCause>
<envVar>SKIP_SONAR</envVar>
</triggers>
</hudson.plugins.sonar.SonarPublisher>
</publishers>
</project>

View File

@ -0,0 +1,11 @@
publishers:
- sonar:
jdk: MyJdk
branch: myBranch
language: java
maven-opts: -DskipTests
additional-properties: -DsonarHostURL=http://example.com/
skip-global-triggers:
skip-when-scm-change: true
skip-when-upstream-build: true
skip-when-envvar-defined: SKIP_SONAR

View File

@ -0,0 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<project>
<publishers>
<org.tap4j.plugin.TapPublisher>
<testResults>puiparts.tap</testResults>
<failIfNoResults>false</failIfNoResults>
<failedTestsMarkBuildAsFailure>false</failedTestsMarkBuildAsFailure>
<outputTapToConsole>true</outputTapToConsole>
<enableSubtests>true</enableSubtests>
<discardOldReports>false</discardOldReports>
<todoIsFailure>false</todoIsFailure>
</org.tap4j.plugin.TapPublisher>
</publishers>
</project>

View File

@ -0,0 +1,4 @@
publishers:
- tap:
results: puiparts.tap
todo-is-failure: false

View File

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<project>
<publishers>
<hudson.plugins.textfinder.TextFinderPublisher>
<fileSet>file.txt</fileSet>
<regexp>some string</regexp>
<alsoCheckConsoleOutput>true</alsoCheckConsoleOutput>
<succeedIfFound>false</succeedIfFound>
<unstableIfFound>false</unstableIfFound>
</hudson.plugins.textfinder.TextFinderPublisher>
</publishers>
</project>

View File

@ -0,0 +1,7 @@
publishers:
- text-finder:
regexp: "some string"
fileset: "file.txt"
also-check-console-output: true
succeed-if-found: false
unstable-if-found: false

View File

@ -0,0 +1,195 @@
<?xml version="1.0" encoding="utf-8"?>
<project>
<publishers>
<hudson.plugins.violations.ViolationsPublisher>
<config>
<suppressions class="tree-set">
<no-comparator/>
</suppressions>
<typeConfigs>
<no-comparator/>
<entry>
<string>checkstyle</string>
<hudson.plugins.violations.TypeConfig>
<type>checkstyle</type>
<min>10</min>
<max>999</max>
<unstable>999</unstable>
<usePattern>false</usePattern>
<pattern/>
</hudson.plugins.violations.TypeConfig>
</entry>
<entry>
<string>codenarc</string>
<hudson.plugins.violations.TypeConfig>
<type>codenarc</type>
<min>10</min>
<max>999</max>
<unstable>999</unstable>
<usePattern>false</usePattern>
<pattern/>
</hudson.plugins.violations.TypeConfig>
</entry>
<entry>
<string>cpd</string>
<hudson.plugins.violations.TypeConfig>
<type>cpd</type>
<min>10</min>
<max>999</max>
<unstable>999</unstable>
<usePattern>false</usePattern>
<pattern/>
</hudson.plugins.violations.TypeConfig>
</entry>
<entry>
<string>cpplint</string>
<hudson.plugins.violations.TypeConfig>
<type>cpplint</type>
<min>10</min>
<max>999</max>
<unstable>999</unstable>
<usePattern>false</usePattern>
<pattern/>
</hudson.plugins.violations.TypeConfig>
</entry>
<entry>
<string>csslint</string>
<hudson.plugins.violations.TypeConfig>
<type>csslint</type>
<min>10</min>
<max>999</max>
<unstable>999</unstable>
<usePattern>false</usePattern>
<pattern/>
</hudson.plugins.violations.TypeConfig>
</entry>
<entry>
<string>findbugs</string>
<hudson.plugins.violations.TypeConfig>
<type>findbugs</type>
<min>10</min>
<max>999</max>
<unstable>999</unstable>
<usePattern>false</usePattern>
<pattern/>
</hudson.plugins.violations.TypeConfig>
</entry>
<entry>
<string>fxcop</string>
<hudson.plugins.violations.TypeConfig>
<type>fxcop</type>
<min>10</min>
<max>999</max>
<unstable>999</unstable>
<usePattern>false</usePattern>
<pattern/>
</hudson.plugins.violations.TypeConfig>
</entry>
<entry>
<string>gendarme</string>
<hudson.plugins.violations.TypeConfig>
<type>gendarme</type>
<min>10</min>
<max>999</max>
<unstable>999</unstable>
<usePattern>false</usePattern>
<pattern/>
</hudson.plugins.violations.TypeConfig>
</entry>
<entry>
<string>jcreport</string>
<hudson.plugins.violations.TypeConfig>
<type>jcreport</type>
<min>10</min>
<max>999</max>
<unstable>999</unstable>
<usePattern>false</usePattern>
<pattern/>
</hudson.plugins.violations.TypeConfig>
</entry>
<entry>
<string>jslint</string>
<hudson.plugins.violations.TypeConfig>
<type>jslint</type>
<min>10</min>
<max>999</max>
<unstable>999</unstable>
<usePattern>false</usePattern>
<pattern/>
</hudson.plugins.violations.TypeConfig>
</entry>
<entry>
<string>pep8</string>
<hudson.plugins.violations.TypeConfig>
<type>pep8</type>
<min>0</min>
<max>1</max>
<unstable>1</unstable>
<usePattern>false</usePattern>
<pattern>**/pep8.txt</pattern>
</hudson.plugins.violations.TypeConfig>
</entry>
<entry>
<string>perlcritic</string>
<hudson.plugins.violations.TypeConfig>
<type>perlcritic</type>
<min>10</min>
<max>999</max>
<unstable>999</unstable>
<usePattern>false</usePattern>
<pattern/>
</hudson.plugins.violations.TypeConfig>
</entry>
<entry>
<string>pmd</string>
<hudson.plugins.violations.TypeConfig>
<type>pmd</type>
<min>10</min>
<max>999</max>
<unstable>999</unstable>
<usePattern>false</usePattern>
<pattern/>
</hudson.plugins.violations.TypeConfig>
</entry>
<entry>
<string>pylint</string>
<hudson.plugins.violations.TypeConfig>
<type>pylint</type>
<min>10</min>
<max>999</max>
<unstable>999</unstable>
<usePattern>false</usePattern>
<pattern/>
</hudson.plugins.violations.TypeConfig>
</entry>
<entry>
<string>simian</string>
<hudson.plugins.violations.TypeConfig>
<type>simian</type>
<min>10</min>
<max>999</max>
<unstable>999</unstable>
<usePattern>false</usePattern>
<pattern/>
</hudson.plugins.violations.TypeConfig>
</entry>
<entry>
<string>stylecop</string>
<hudson.plugins.violations.TypeConfig>
<type>stylecop</type>
<min>10</min>
<max>999</max>
<unstable>999</unstable>
<usePattern>false</usePattern>
<pattern/>
</hudson.plugins.violations.TypeConfig>
</entry>
</typeConfigs>
<limit>100</limit>
<sourcePathPattern/>
<fauxProjectPath/>
<encoding>default</encoding>
</config>
</hudson.plugins.violations.ViolationsPublisher>
</publishers>
</project>

View File

@ -0,0 +1,7 @@
publishers:
- violations:
pep8:
min: 0
max: 1
unstable: 1
pattern: '**/pep8.txt'

View File

@ -0,0 +1,55 @@
<?xml version="1.0" encoding="utf-8"?>
<project>
<publishers>
<hudson.plugins.warnings.WarningsPublisher>
<consoleParsers>
<hudson.plugins.warnings.ConsoleParser>
<parserName>FxCop</parserName>
</hudson.plugins.warnings.ConsoleParser>
<hudson.plugins.warnings.ConsoleParser>
<parserName>CodeAnalysis</parserName>
</hudson.plugins.warnings.ConsoleParser>
</consoleParsers>
<parserConfigurations>
<hudson.plugins.warnings.ParserConfiguration>
<pattern>**/*.out</pattern>
<parserName>AcuCobol Compiler</parserName>
</hudson.plugins.warnings.ParserConfiguration>
<hudson.plugins.warnings.ParserConfiguration>
<pattern>**/*.warnings</pattern>
<parserName>FxCop</parserName>
</hudson.plugins.warnings.ParserConfiguration>
</parserConfigurations>
<includePattern>[a-zA-Z]\.java,[a-zA-Z]\.cpp</includePattern>
<excludePattern>[a-zA-Z]\.html,[a-zA-Z]\.js</excludePattern>
<canRunOnFailed>true</canRunOnFailed>
<shouldDetectModules>true</shouldDetectModules>
<doNotResolveRelativePaths>false</doNotResolveRelativePaths>
<healthy>50</healthy>
<unHealthy>25</unHealthy>
<thresholdLimit>normal</thresholdLimit>
<thresholds>
<unstableTotalAll>90</unstableTotalAll>
<unstableTotalHigh>90</unstableTotalHigh>
<unstableTotalNormal>40</unstableTotalNormal>
<unstableTotalLow>30</unstableTotalLow>
<failedTotalAll>100</failedTotalAll>
<failedTotalHigh>100</failedTotalHigh>
<failedTotalNormal>50</failedTotalNormal>
<failedTotalLow>40</failedTotalLow>
<unstableNewAll>100</unstableNewAll>
<unstableNewHigh>50</unstableNewHigh>
<unstableNewNormal>30</unstableNewNormal>
<unstableNewLow>10</unstableNewLow>
<failedNewAll>100</failedNewAll>
<failedNewHigh>60</failedNewHigh>
<failedNewNormal>50</failedNewNormal>
<failedNewLow>40</failedNewLow>
</thresholds>
<dontComputeNew>false</dontComputeNew>
<useDeltaValues>true</useDeltaValues>
<useStableBuildAsReference>true</useStableBuildAsReference>
<defaultEncoding>ISO-8859-9</defaultEncoding>
</hudson.plugins.warnings.WarningsPublisher>
</publishers>
</project>

View File

@ -0,0 +1,43 @@
publishers:
- warnings:
console-log-parsers:
- FxCop
- CodeAnalysis
workspace-file-scanners:
- file-pattern: '**/*.out'
scanner: 'AcuCobol Compiler'
- file-pattern: '**/*.warnings'
scanner: FxCop
files-to-include: '[a-zA-Z]\.java,[a-zA-Z]\.cpp'
files-to-ignore: '[a-zA-Z]\.html,[a-zA-Z]\.js'
run-always: true
detect-modules: true
resolve-relative-paths: true
health-threshold-high: 50
health-threshold-low: 25
health-priorities: high-and-normal
total-thresholds:
unstable:
total-all: 90
total-high: 90
total-normal: 40
total-low: 30
failed:
total-all: 100
total-high: 100
total-normal: 50
total-low: 40
new-thresholds:
unstable:
new-all: 100
new-high: 50
new-normal: 30
new-low: 10
failed:
new-all: 100
new-high: 60
new-normal: 50
new-low: 40
use-delta-for-new-warnings: true
only-use-stable-builds-as-reference: true
default-encoding: ISO-8859-9

View File

@ -0,0 +1,21 @@
<?xml version="1.0" encoding="utf-8"?>
<project>
<publishers>
<hudson.plugins.ws__cleanup.WsCleanup plugin="ws-cleanup@0.14">
<patterns>
<hudson.plugins.ws__cleanup.Pattern>
<pattern>*.zip</pattern>
<type>INCLUDE</type>
</hudson.plugins.ws__cleanup.Pattern>
</patterns>
<deleteDirs>false</deleteDirs>
<cleanupMatrixParent>false</cleanupMatrixParent>
<cleanWhenSuccess>true</cleanWhenSuccess>
<cleanWhenUnstable>true</cleanWhenUnstable>
<cleanWhenFailure>true</cleanWhenFailure>
<cleanWhenNotBuilt>false</cleanWhenNotBuilt>
<cleanWhenAborted>true</cleanWhenAborted>
<notFailBuild>true</notFailBuild>
</hudson.plugins.ws__cleanup.WsCleanup>
</publishers>
</project>

View File

@ -0,0 +1,7 @@
publishers:
- workspace-cleanup:
include:
- "*.zip"
clean-if:
- success: true
- not-built: false

View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<project>
<publishers>
<hudson.plugins.summary__report.ACIPluginPublisher>
<name>*_summary_report.xml</name>
</hudson.plugins.summary__report.ACIPluginPublisher>
</publishers>
</project>

View File

@ -0,0 +1,3 @@
publishers:
- xml-summary:
files: '*_summary_report.xml'