summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--jenkins_jobs/modules/builders.py64
-rw-r--r--jenkins_jobs/modules/helpers.py2
-rw-r--r--jenkins_jobs/modules/project_multibranch.py5
-rw-r--r--jenkins_jobs/modules/publishers.py77
-rw-r--r--setup.cfg2
-rw-r--r--tests/builders/fixtures/ansible-playbook001.xml1
-rw-r--r--tests/builders/fixtures/ansible-playbook002.xml1
-rw-r--r--tests/builders/fixtures/ansible-playbook002.yaml1
-rw-r--r--tests/builders/fixtures/ansible-playbook003.xml1
-rw-r--r--tests/builders/fixtures/build-publish-docker-image-full.xml19
-rw-r--r--tests/builders/fixtures/build-publish-docker-image-full.yaml10
-rw-r--r--tests/builders/fixtures/build-publish-docker-image-minimal.xml19
-rw-r--r--tests/builders/fixtures/build-publish-docker-image-minimal.yaml2
-rw-r--r--tests/general/fixtures/project-maven-global-settings-type.xml33
-rw-r--r--tests/general/fixtures/project-maven-global-settings-type.yaml7
-rw-r--r--tests/multibranch/fixtures/scm_github_full.xml3
-rw-r--r--tests/multibranch/fixtures/scm_github_full.yaml1
-rw-r--r--tests/publishers/fixtures/cifs-full.xml4
-rw-r--r--tests/publishers/fixtures/cifs-full.yaml2
-rw-r--r--tests/publishers/fixtures/cucumber-reports-full.xml19
-rw-r--r--tests/publishers/fixtures/cucumber-reports-full.yaml16
-rw-r--r--tests/publishers/fixtures/cucumber-reports-minimal.xml9
-rw-r--r--tests/publishers/fixtures/ftp-full.xml4
-rw-r--r--tests/publishers/fixtures/ftp-full.yaml2
-rw-r--r--tests/publishers/fixtures/ssh-full.xml4
-rw-r--r--tests/publishers/fixtures/ssh-full.yaml2
26 files changed, 304 insertions, 6 deletions
diff --git a/jenkins_jobs/modules/builders.py b/jenkins_jobs/modules/builders.py
index 7e532ae4..57199cdc 100644
--- a/jenkins_jobs/modules/builders.py
+++ b/jenkins_jobs/modules/builders.py
@@ -3958,6 +3958,66 @@ def description_setter(registry, xml_parent, data):
descriptionsetter, data, mapping, fail_required=True)
+def build_publish_docker_image(registry, xml_parent, data):
+ """yaml: build-publish-docker-image
+ Requires the Jenkins :jenkins-wiki:`CloudBees Docker Build and
+ Publish plugin <CloudBees+Docker+Build+and+Publish+plugin>`.
+
+ :arg str docker-registry-url: URL to the Docker registry you are
+ using (default '')
+ :arg str image: Repository name to be applied to the resulting image
+ in case of success (default '')
+ :arg str docker-file-directory: Build step that sends a Dockerfile for
+ building to docker host that used for this build run (default '')
+ :arg bool push-on-success: Resulting docker image will be pushed to
+ the registry (or registries) specified within the
+ "Image" field (default false)
+ :arg str push-credentials-id: Credentials to push to a private
+ registry (default '')
+ :arg bool clean-images: Option to clean local images (default false)
+ :arg bool jenkins-job-delete: Attempt to remove images when jenkins
+ deletes the run (default false)
+ :arg str cloud: Cloud to use to build image (default '')
+
+ Minimal example:
+
+ .. literalinclude::
+ /../../tests/builders/fixtures/build-publish-docker-image-minimal.yaml
+
+ Full example:
+
+ .. literalinclude::
+ /../../tests/builders/fixtures/build-publish-docker-image-full.yaml
+ """
+ dbp = XML.SubElement(xml_parent,
+ 'com.nirima.jenkins.plugins.docker.builder'
+ '.DockerBuilderPublisher')
+ dbp.set('plugin', 'docker-plugin')
+
+ from_registry = XML.SubElement(dbp, 'fromRegistry')
+ from_registry.set('plugin', 'docker-commons')
+ from_registry_mapping = [
+ ('docker-registry-url', 'url', ''),
+ ]
+ helpers.convert_mapping_to_xml(
+ from_registry, data, from_registry_mapping,
+ fail_required=False)
+
+ tags = XML.SubElement(dbp, 'tags')
+ XML.SubElement(tags, 'string').text = data.get('image', '')
+
+ mapping = [
+ ('docker-file-directory', 'dockerFileDirectory', ''),
+ ('push-on-success', 'pushOnSuccess', False),
+ ('push-credentials-id', 'pushCredentialsId', ''),
+ ('clean-images', 'cleanImages', False),
+ ('jenkins-job-delete', 'cleanupWithJenkinsJobDelete', False),
+ ('cloud', 'cloud', ''),
+ ]
+ helpers.convert_mapping_to_xml(
+ dbp, data, mapping, fail_required=False)
+
+
def docker_build_publish(parse, xml_parent, data):
"""yaml: docker-build-publish
Requires the Jenkins :jenkins-wiki:`Docker build publish Plugin
@@ -4337,6 +4397,8 @@ def ansible_playbook(parser, xml_parent, data):
:arg int workers: Specify number of parallel processes to use (default 5)
:arg str credentials-id: The ID of credentials for the SSH connections.
Only private key authentication is supported (default '')
+ :arg str vault-credentials-id: The ID of credentials for the vault
+ decryption (default '')
:arg bool sudo: Run operations with sudo. It works only when the remote
user is sudoer with nopasswd option (default false)
:arg str sudo-user: Desired sudo user. "root" is used when this field is
@@ -4416,6 +4478,8 @@ def ansible_playbook(parser, xml_parent, data):
'task-to-start-at', '')
XML.SubElement(plugin, 'credentialsId').text = data.get(
'credentials-id', '')
+ XML.SubElement(plugin, 'vaultCredentialsId').text = data.get(
+ 'vault-credentials-id', '')
if data.get('sudo', False):
XML.SubElement(plugin, 'sudo').text = 'true'
XML.SubElement(plugin, 'sudoUser').text = data.get('sudo-user', '')
diff --git a/jenkins_jobs/modules/helpers.py b/jenkins_jobs/modules/helpers.py
index 28671201..d4bea4ca 100644
--- a/jenkins_jobs/modules/helpers.py
+++ b/jenkins_jobs/modules/helpers.py
@@ -155,7 +155,7 @@ def config_file_provider_settings(xml_parent, data):
if 'global-settings' in data:
# Support for Config File Provider
global_settings_file = str(data['global-settings'])
- global_settings_type = data.get('settings-type', 'file')
+ global_settings_type = data.get('global-settings-type', 'file')
# For cfp versions <2.10.0 we are able to detect cfp via the config
# settings name.
diff --git a/jenkins_jobs/modules/project_multibranch.py b/jenkins_jobs/modules/project_multibranch.py
index 084aff47..207594f0 100644
--- a/jenkins_jobs/modules/project_multibranch.py
+++ b/jenkins_jobs/modules/project_multibranch.py
@@ -969,6 +969,11 @@ def github_scm(xml_parent, data):
helpers.convert_mapping_to_xml(
dpro, data, dpro_mapping, fail_required=True)
+ if data.get('head-filter-regex', None):
+ rshf = XML.SubElement(traits,
+ 'jenkins.scm.impl.trait.RegexSCMHeadFilterTrait')
+ XML.SubElement(rshf, 'regex').text = data.get('head-filter-regex')
+
if data.get('property-strategies', None):
property_strategies(xml_parent, data)
diff --git a/jenkins_jobs/modules/publishers.py b/jenkins_jobs/modules/publishers.py
index cd3b99ff..126077cf 100644
--- a/jenkins_jobs/modules/publishers.py
+++ b/jenkins_jobs/modules/publishers.py
@@ -1175,6 +1175,10 @@ def ftp(registry, xml_parent, data):
directories (default false).
:arg bool verbose: adds lots of detail useful for debug to the console
but generally should be left off (default false)
+ :arg int retries: the number of times to retry this server in the event of
+ failure (optional)
+ :arg int retry-delay: the time to wait, in milliseconds, before attempting
+ another transfer (default 10000)
Minimal Example:
@@ -1191,6 +1195,7 @@ def ftp(registry, xml_parent, data):
plugin_tag = 'jenkins.plugins.publish__over__ftp.BapFtpPublisherPlugin'
publisher_tag = 'jenkins.plugins.publish__over__ftp.BapFtpPublisher'
transfer_tag = 'jenkins.plugins.publish__over__ftp.BapFtpTransfer'
+ retry_tag = 'jenkins.plugins.publish_over_ftp.BapFtpRetry'
plugin_reference_tag = 'jenkins.plugins.publish_over_ftp.' \
'BapFtpPublisherPlugin'
(_, transfer_node) = base_publish_over(xml_parent,
@@ -1199,6 +1204,7 @@ def ftp(registry, xml_parent, data):
plugin_tag,
publisher_tag,
transfer_tag,
+ retry_tag,
plugin_reference_tag)
mapping = [('', 'asciiMode', 'false')]
helpers.convert_mapping_to_xml(
@@ -1361,6 +1367,23 @@ def cucumber_reports(registry, xml_parent, data):
(default false)
:arg bool parallel-testing: Run same test in parallel for multiple devices
(default false)
+ :arg int failed-steps-number: Maximum number of failed steps above which
+ build result is changed (default 0)
+ :arg int skipped-steps-number: Maximum number of skipped steps above which
+ build result is changed (default 0)
+ :arg int pending-steps-number: Maximum number of pending steps above which
+ build result is changed (default 0)
+ :arg int undefined-steps-number: Maximum number of undefined steps above
+ which build result is changed (default 0)
+ :arg int failed-scenarios-number: Maximum number of failed scenarios above
+ which build result is changed (default 0)
+ :arg int failed-features-number: Maximum number of failed features above
+ which build result is changed (default 0)
+ :arg list build-status: Build result to which the build should be set
+ when the report becomes failed or unstable (default '')
+ :arg int trends-limit: Number of past reports that should be presented.
+ Zero means unlimited number of builds (default 0)
+ :arg list sorting-method: Result sorting order (default 'NATURAL')
Full example:
@@ -1379,6 +1402,8 @@ def cucumber_reports(registry, xml_parent, data):
'CucumberReportPublisher')
cucumber_reports.set('plugin', 'cucumber-reports')
+ valid_build_status = ['', 'UNSTABLE', 'FAILURE']
+ valid_sorting_method = ['NATURAL', 'ALPHABETICAL']
mappings = [
('json-reports-path', 'jsonReportDirectory', ''),
('plugin-url-path', 'pluginUrlPath', ''),
@@ -1390,11 +1415,37 @@ def cucumber_reports(registry, xml_parent, data):
('missing-fails', 'missingFails', False),
('no-flash-charts', 'noFlashCharts', False),
('ignore-failed-tests', 'ignoreFailedTests', False),
- ('parallel-testing', 'parallelTesting', False)
+ ('parallel-testing', 'parallelTesting', False),
+ ('failed-steps-number', 'failedStepsNumber', 0),
+ ('skipped-steps-number', 'skippedStepsNumber', 0),
+ ('pending-steps-number', 'pendingStepsNumber', 0),
+ ('undefined-steps-number', 'undefinedStepsNumber', 0),
+ ('failed-scenarios-number', 'failedScenariosNumber', 0),
+ ('failed-features-number', 'failedFeaturesNumber', 0),
+ ('build-status', 'buildStatus', '', valid_build_status),
+ ('trends-limit', 'trendsLimit', 0),
+ ('sorting-method', 'sortingMethod', 'NATURAL', valid_sorting_method),
]
helpers.convert_mapping_to_xml(
cucumber_reports, data, mappings, fail_required=True)
+ if 'sorting-values' in data:
+ format_dict = {
+ 'classifications': 'net.masterthought.jenkins'
+ '.CucumberReportPublisher_-Classification'
+ }
+ classifications_tag = XML.SubElement(
+ cucumber_reports, 'classifications')
+ for values in data['sorting-values']:
+ for value, params in values.items():
+ cucumber_report_publisher = XML.SubElement(
+ classifications_tag, format_dict.get('classifications'))
+ XML.SubElement(
+ cucumber_report_publisher, 'key').text = params.get('key')
+ XML.SubElement(
+ cucumber_report_publisher, 'value').text = params.get(
+ 'value')
+
def cucumber_testresult(registry, xml_parent, data):
"""yaml: cucumber-testresult
@@ -1916,6 +1967,10 @@ def ssh(registry, xml_parent, data):
directories (default false).
:arg bool verbose: adds lots of detail useful for debug to the console
but generally should be left off (default false)
+ :arg int retries: the number of times to retry this server in the event of
+ failure (optional)
+ :arg int retry-delay: the time to wait, in milliseconds, before attempting
+ another transfer (default 10000)
Minimal Example:
@@ -1931,6 +1986,7 @@ def ssh(registry, xml_parent, data):
tag_prefix = 'jenkins.plugins.publish'
publisher_tag = '%s__over__ssh.BapSshPublisher' % tag_prefix
transfer_tag = '%s__over__ssh.BapSshTransfer' % tag_prefix
+ retry_tag = '%s_over_ssh.BapSshRetry' % tag_prefix
reference_tag = '%s_over_ssh.BapSshPublisherPlugin' % tag_prefix
if xml_parent.tag == 'publishers':
@@ -1941,7 +1997,8 @@ def ssh(registry, xml_parent, data):
is_builder = True
base_publish_over(xml_parent, data, console_prefix, plugin_tag,
- publisher_tag, transfer_tag, reference_tag, is_builder)
+ publisher_tag, transfer_tag, retry_tag, reference_tag,
+ is_builder)
def pipeline(registry, xml_parent, data):
@@ -2679,8 +2736,8 @@ def groovy_postbuild(registry, xml_parent, data):
def base_publish_over(xml_parent, data, console_prefix,
plugin_tag, publisher_tag,
- transferset_tag, reference_plugin_tag,
- is_builder=False):
+ transferset_tag, retry_tag,
+ reference_plugin_tag, is_builder=False):
outer = XML.SubElement(xml_parent, plugin_tag)
# 'Publish over SSH' builder has an extra top delegate element
if xml_parent.tag == 'builders' or is_builder:
@@ -2721,6 +2778,12 @@ def base_publish_over(xml_parent, data, console_prefix,
XML.SubElement(inner, 'useWorkspaceInPromotion').text = 'false'
XML.SubElement(inner, 'usePromotionTimestamp').text = 'false'
+ if 'retries' in data:
+ retry = XML.SubElement(inner, 'retry', {'class': retry_tag})
+ XML.SubElement(retry, 'retries').text = str(data.get('retries', 0))
+ XML.SubElement(retry, 'retryDelay').text = str(
+ data.get('retry-delay', 10000))
+
XML.SubElement(delegate, 'continueOnError').text = 'false'
XML.SubElement(delegate, 'failOnError').text = str(
data.get('fail-on-error', False)).lower()
@@ -2753,6 +2816,10 @@ def cifs(registry, xml_parent, data):
directories (default false).
:arg bool verbose: adds lots of detail useful for debug to the console
but generally should be left off (default false)
+ :arg int retries: the number of times to retry this server in the event of
+ failure (optional)
+ :arg int retry-delay: the time to wait, in milliseconds, before attempting
+ another transfer (default 10000)
Minimal Example:
@@ -2774,6 +2841,7 @@ def cifs(registry, xml_parent, data):
is_builder = True
publisher_tag = 'jenkins.plugins.publish__over__cifs.CifsPublisher'
transfer_tag = 'jenkins.plugins.publish__over__cifs.CifsTransfer'
+ retry_tag = 'jenkins.plugins.publish_over_cifs.CifsRetry'
plugin_reference_tag = ('jenkins.plugins.publish_over_cifs.'
'CifsPublisherPlugin')
base_publish_over(xml_parent,
@@ -2782,6 +2850,7 @@ def cifs(registry, xml_parent, data):
plugin_tag,
publisher_tag,
transfer_tag,
+ retry_tag,
plugin_reference_tag,
is_builder)
diff --git a/setup.cfg b/setup.cfg
index 70097582..d29572da 100644
--- a/setup.cfg
+++ b/setup.cfg
@@ -7,7 +7,7 @@ warning-is-error = 1
[metadata]
name = jenkins-job-builder
author = OpenStack Infrastructure Team
-author_email = openstack-infra@lists.openstack.org
+author-email = jenkins-job-builder@googlegroups.com
summary = Manage Jenkins jobs with YAML
description-file = README.rst
license = Apache License, Version 2.0
diff --git a/tests/builders/fixtures/ansible-playbook001.xml b/tests/builders/fixtures/ansible-playbook001.xml
index 4880b518..662321b3 100644
--- a/tests/builders/fixtures/ansible-playbook001.xml
+++ b/tests/builders/fixtures/ansible-playbook001.xml
@@ -11,6 +11,7 @@
<skippedTags/>
<startAtTask/>
<credentialsId/>
+ <vaultCredentialsId/>
<sudo>false</sudo>
<forks>5</forks>
<unbufferedOutput>true</unbufferedOutput>
diff --git a/tests/builders/fixtures/ansible-playbook002.xml b/tests/builders/fixtures/ansible-playbook002.xml
index 680f6d5c..21c1ae0b 100644
--- a/tests/builders/fixtures/ansible-playbook002.xml
+++ b/tests/builders/fixtures/ansible-playbook002.xml
@@ -15,6 +15,7 @@ machine02.example.com
<skippedTags>ovirt</skippedTags>
<startAtTask>Deploy application</startAtTask>
<credentialsId>0891c950-487b-4749-aa69-d87425e14459</credentialsId>
+ <vaultCredentialsId>0421b950-487b-4749-aa69-d87425e14459</vaultCredentialsId>
<sudo>true</sudo>
<sudoUser>cloud-user</sudoUser>
<forks>2</forks>
diff --git a/tests/builders/fixtures/ansible-playbook002.yaml b/tests/builders/fixtures/ansible-playbook002.yaml
index 28ec5f44..db63b0ca 100644
--- a/tests/builders/fixtures/ansible-playbook002.yaml
+++ b/tests/builders/fixtures/ansible-playbook002.yaml
@@ -14,6 +14,7 @@ builders:
task-to-start-at: "Deploy application"
workers: 2
credentials-id: "0891c950-487b-4749-aa69-d87425e14459"
+ vault-credentials-id: "0421b950-487b-4749-aa69-d87425e14459"
sudo: true
sudo-user: "cloud-user"
unbuffered-output: false
diff --git a/tests/builders/fixtures/ansible-playbook003.xml b/tests/builders/fixtures/ansible-playbook003.xml
index eecfc273..31474925 100644
--- a/tests/builders/fixtures/ansible-playbook003.xml
+++ b/tests/builders/fixtures/ansible-playbook003.xml
@@ -9,6 +9,7 @@
<skippedTags/>
<startAtTask/>
<credentialsId/>
+ <vaultCredentialsId/>
<sudo>false</sudo>
<forks>5</forks>
<unbufferedOutput>true</unbufferedOutput>
diff --git a/tests/builders/fixtures/build-publish-docker-image-full.xml b/tests/builders/fixtures/build-publish-docker-image-full.xml
new file mode 100644
index 00000000..d0e99bd1
--- /dev/null
+++ b/tests/builders/fixtures/build-publish-docker-image-full.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8"?>
+<project>
+ <builders>
+ <com.nirima.jenkins.plugins.docker.builder.DockerBuilderPublisher plugin="docker-plugin">
+ <fromRegistry plugin="docker-commons">
+ <url>Docker registry URL</url>
+ </fromRegistry>
+ <tags>
+ <string>Image string</string>
+ </tags>
+ <dockerFileDirectory>Directory for Dockerfile</dockerFileDirectory>
+ <pushOnSuccess>true</pushOnSuccess>
+ <pushCredentialsId>71e4f29c-162b-40d0-85d9-3ddfba2911a0</pushCredentialsId>
+ <cleanImages>true</cleanImages>
+ <cleanupWithJenkinsJobDelete>true</cleanupWithJenkinsJobDelete>
+ <cloud>cloud</cloud>
+ </com.nirima.jenkins.plugins.docker.builder.DockerBuilderPublisher>
+ </builders>
+</project>
diff --git a/tests/builders/fixtures/build-publish-docker-image-full.yaml b/tests/builders/fixtures/build-publish-docker-image-full.yaml
new file mode 100644
index 00000000..2469d11e
--- /dev/null
+++ b/tests/builders/fixtures/build-publish-docker-image-full.yaml
@@ -0,0 +1,10 @@
+builders:
+ - build-publish-docker-image:
+ docker-registry-url: Docker registry URL
+ image: Image string
+ docker-file-directory: Directory for Dockerfile
+ push-on-success: true
+ push-credentials-id: 71e4f29c-162b-40d0-85d9-3ddfba2911a0
+ clean-images: true
+ jenkins-job-delete: true
+ cloud: cloud
diff --git a/tests/builders/fixtures/build-publish-docker-image-minimal.xml b/tests/builders/fixtures/build-publish-docker-image-minimal.xml
new file mode 100644
index 00000000..3e616113
--- /dev/null
+++ b/tests/builders/fixtures/build-publish-docker-image-minimal.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8"?>
+<project>
+ <builders>
+ <com.nirima.jenkins.plugins.docker.builder.DockerBuilderPublisher plugin="docker-plugin">
+ <fromRegistry plugin="docker-commons">
+ <url/>
+ </fromRegistry>
+ <tags>
+ <string/>
+ </tags>
+ <dockerFileDirectory/>
+ <pushOnSuccess>false</pushOnSuccess>
+ <pushCredentialsId/>
+ <cleanImages>false</cleanImages>
+ <cleanupWithJenkinsJobDelete>false</cleanupWithJenkinsJobDelete>
+ <cloud/>
+ </com.nirima.jenkins.plugins.docker.builder.DockerBuilderPublisher>
+ </builders>
+</project>
diff --git a/tests/builders/fixtures/build-publish-docker-image-minimal.yaml b/tests/builders/fixtures/build-publish-docker-image-minimal.yaml
new file mode 100644
index 00000000..4497d40e
--- /dev/null
+++ b/tests/builders/fixtures/build-publish-docker-image-minimal.yaml
@@ -0,0 +1,2 @@
+builders:
+ - build-publish-docker-image
diff --git a/tests/general/fixtures/project-maven-global-settings-type.xml b/tests/general/fixtures/project-maven-global-settings-type.xml
new file mode 100644
index 00000000..fb3fa50a
--- /dev/null
+++ b/tests/general/fixtures/project-maven-global-settings-type.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="utf-8"?>
+<maven2-moduleset>
+ <goals>deploy</goals>
+ <ignoreUpstremChanges>true</ignoreUpstremChanges>
+ <rootPOM>pom.xml</rootPOM>
+ <aggregatorStyleBuild>true</aggregatorStyleBuild>
+ <incrementalBuild>false</incrementalBuild>
+ <siteArchivingDisabled>false</siteArchivingDisabled>
+ <fingerprintingDisabled>false</fingerprintingDisabled>
+ <archivingDisabled>false</archivingDisabled>
+ <resolveDependencies>false</resolveDependencies>
+ <processPlugins>false</processPlugins>
+ <mavenValidationLevel>-1</mavenValidationLevel>
+ <runHeadless>false</runHeadless>
+ <disableTriggerDownstreamProjects>false</disableTriggerDownstreamProjects>
+ <settings class="jenkins.mvn.FilePathSettingsProvider">
+ <path>test</path>
+ </settings>
+ <globalSettings class="org.jenkinsci.plugins.configfiles.maven.job.MvnGlobalSettingsProvider">
+ <settingsConfigId>test</settingsConfigId>
+ </globalSettings>
+ <runPostStepsIfResult>
+ <name>FAILURE</name>
+ <ordinal>2</ordinal>
+ <color>RED</color>
+ </runPostStepsIfResult>
+ <actions/>
+ <keepDependencies>false</keepDependencies>
+ <blockBuildWhenDownstreamBuilding>false</blockBuildWhenDownstreamBuilding>
+ <blockBuildWhenUpstreamBuilding>false</blockBuildWhenUpstreamBuilding>
+ <concurrentBuild>false</concurrentBuild>
+ <canRoam>true</canRoam>
+</maven2-moduleset>
diff --git a/tests/general/fixtures/project-maven-global-settings-type.yaml b/tests/general/fixtures/project-maven-global-settings-type.yaml
new file mode 100644
index 00000000..fc636ea7
--- /dev/null
+++ b/tests/general/fixtures/project-maven-global-settings-type.yaml
@@ -0,0 +1,7 @@
+project-type: maven
+maven:
+ goals: deploy
+ settings-type: file
+ settings: test
+ global-settings-type: cfp
+ global-settings: test
diff --git a/tests/multibranch/fixtures/scm_github_full.xml b/tests/multibranch/fixtures/scm_github_full.xml
index a74e2e6d..cc4efcc1 100644
--- a/tests/multibranch/fixtures/scm_github_full.xml
+++ b/tests/multibranch/fixtures/scm_github_full.xml
@@ -52,6 +52,9 @@
<org.jenkinsci.plugins.github__branch__source.OriginPullRequestDiscoveryTrait>
<strategyId>3</strategyId>
</org.jenkinsci.plugins.github__branch__source.OriginPullRequestDiscoveryTrait>
+ <jenkins.scm.impl.trait.RegexSCMHeadFilterTrait>
+ <regex>(.*/master|.*/release/.*)</regex>
+ </jenkins.scm.impl.trait.RegexSCMHeadFilterTrait>
<jenkins.plugins.git.traits.CleanAfterCheckoutTrait>
<extension class="hudson.plugins.git.extensions.impl.CleanCheckout"/>
</jenkins.plugins.git.traits.CleanAfterCheckoutTrait>
diff --git a/tests/multibranch/fixtures/scm_github_full.yaml b/tests/multibranch/fixtures/scm_github_full.yaml
index 9b74e837..a45ecb65 100644
--- a/tests/multibranch/fixtures/scm_github_full.yaml
+++ b/tests/multibranch/fixtures/scm_github_full.yaml
@@ -10,6 +10,7 @@ scm:
repo-owner: example-owner
credentials-id: example-credential
branch-discovery: all
+ head-filter-regex: "(.*/master|.*/release/.*)"
discover-pr-forks-strategy: both
discover-pr-forks-trust: everyone
discover-pr-origin: both
diff --git a/tests/publishers/fixtures/cifs-full.xml b/tests/publishers/fixtures/cifs-full.xml
index 363348be..0399fc5e 100644
--- a/tests/publishers/fixtures/cifs-full.xml
+++ b/tests/publishers/fixtures/cifs-full.xml
@@ -21,6 +21,10 @@
</transfers>
<useWorkspaceInPromotion>false</useWorkspaceInPromotion>
<usePromotionTimestamp>false</usePromotionTimestamp>
+ <retry class="jenkins.plugins.publish_over_cifs.CifsRetry">
+ <retries>99</retries>
+ <retryDelay>12345</retryDelay>
+ </retry>
</jenkins.plugins.publish__over__cifs.CifsPublisher>
</publishers>
<continueOnError>false</continueOnError>
diff --git a/tests/publishers/fixtures/cifs-full.yaml b/tests/publishers/fixtures/cifs-full.yaml
index 830e28d1..60af1dbe 100644
--- a/tests/publishers/fixtures/cifs-full.yaml
+++ b/tests/publishers/fixtures/cifs-full.yaml
@@ -10,3 +10,5 @@ publishers:
fail-on-error: true
flatten: true
verbose: true
+ retries: 99
+ retry-delay: 12345
diff --git a/tests/publishers/fixtures/cucumber-reports-full.xml b/tests/publishers/fixtures/cucumber-reports-full.xml
index 4d6273e6..42c2eef8 100644
--- a/tests/publishers/fixtures/cucumber-reports-full.xml
+++ b/tests/publishers/fixtures/cucumber-reports-full.xml
@@ -13,6 +13,25 @@
<noFlashCharts>true</noFlashCharts>
<ignoreFailedTests>true</ignoreFailedTests>
<parallelTesting>true</parallelTesting>
+ <failedStepsNumber>1</failedStepsNumber>
+ <skippedStepsNumber>2</skippedStepsNumber>
+ <pendingStepsNumber>3</pendingStepsNumber>
+ <undefinedStepsNumber>4</undefinedStepsNumber>
+ <failedScenariosNumber>5</failedScenariosNumber>
+ <failedFeaturesNumber>6</failedFeaturesNumber>
+ <buildStatus>UNSTABLE</buildStatus>
+ <trendsLimit>7</trendsLimit>
+ <sortingMethod>ALPHABETICAL</sortingMethod>
+ <classifications>
+ <net.masterthought.jenkins.CucumberReportPublisher_-Classification>
+ <key>classification key 1</key>
+ <value>classification value 1</value>
+ </net.masterthought.jenkins.CucumberReportPublisher_-Classification>
+ <net.masterthought.jenkins.CucumberReportPublisher_-Classification>
+ <key>classification key 2</key>
+ <value>classification value 2</value>
+ </net.masterthought.jenkins.CucumberReportPublisher_-Classification>
+ </classifications>
</net.masterthought.jenkins.CucumberReportPublisher>
</publishers>
</project>
diff --git a/tests/publishers/fixtures/cucumber-reports-full.yaml b/tests/publishers/fixtures/cucumber-reports-full.yaml
index af315c4d..e0b1b797 100644
--- a/tests/publishers/fixtures/cucumber-reports-full.yaml
+++ b/tests/publishers/fixtures/cucumber-reports-full.yaml
@@ -11,3 +11,19 @@ publishers:
no-flash-charts: true
ignore-failed-tests: true
parallel-testing: true
+ failed-steps-number: 1
+ skipped-steps-number: 2
+ pending-steps-number: 3
+ undefined-steps-number: 4
+ failed-scenarios-number: 5
+ failed-features-number: 6
+ build-status: UNSTABLE
+ trends-limit: 7
+ sorting-method: ALPHABETICAL
+ sorting-values:
+ - key-value-pair:
+ key: classification key 1
+ value: classification value 1
+ - key-value-pair:
+ key: classification key 2
+ value: classification value 2
diff --git a/tests/publishers/fixtures/cucumber-reports-minimal.xml b/tests/publishers/fixtures/cucumber-reports-minimal.xml
index 7c411526..b6ee1732 100644
--- a/tests/publishers/fixtures/cucumber-reports-minimal.xml
+++ b/tests/publishers/fixtures/cucumber-reports-minimal.xml
@@ -13,6 +13,15 @@
<noFlashCharts>false</noFlashCharts>
<ignoreFailedTests>false</ignoreFailedTests>
<parallelTesting>false</parallelTesting>
+ <failedStepsNumber>0</failedStepsNumber>
+ <skippedStepsNumber>0</skippedStepsNumber>
+ <pendingStepsNumber>0</pendingStepsNumber>
+ <undefinedStepsNumber>0</undefinedStepsNumber>
+ <failedScenariosNumber>0</failedScenariosNumber>
+ <failedFeaturesNumber>0</failedFeaturesNumber>
+ <buildStatus/>
+ <trendsLimit>0</trendsLimit>
+ <sortingMethod>NATURAL</sortingMethod>
</net.masterthought.jenkins.CucumberReportPublisher>
</publishers>
</project>
diff --git a/tests/publishers/fixtures/ftp-full.xml b/tests/publishers/fixtures/ftp-full.xml
index e36cad8b..5b8854c1 100644
--- a/tests/publishers/fixtures/ftp-full.xml
+++ b/tests/publishers/fixtures/ftp-full.xml
@@ -22,6 +22,10 @@
</transfers>
<useWorkspaceInPromotion>false</useWorkspaceInPromotion>
<usePromotionTimestamp>false</usePromotionTimestamp>
+ <retry class="jenkins.plugins.publish_over_ftp.BapFtpRetry">
+ <retries>99</retries>
+ <retryDelay>12345</retryDelay>
+ </retry>
</jenkins.plugins.publish__over__ftp.BapFtpPublisher>
</publishers>
<continueOnError>false</continueOnError>
diff --git a/tests/publishers/fixtures/ftp-full.yaml b/tests/publishers/fixtures/ftp-full.yaml
index bd6da185..46a126cd 100644
--- a/tests/publishers/fixtures/ftp-full.yaml
+++ b/tests/publishers/fixtures/ftp-full.yaml
@@ -10,3 +10,5 @@ publishers:
fail-on-error: true
flatten: true
verbose: true
+ retries: 99
+ retry-delay: 12345
diff --git a/tests/publishers/fixtures/ssh-full.xml b/tests/publishers/fixtures/ssh-full.xml
index 5a526490..42b97bbd 100644
--- a/tests/publishers/fixtures/ssh-full.xml
+++ b/tests/publishers/fixtures/ssh-full.xml
@@ -24,6 +24,10 @@
</transfers>
<useWorkspaceInPromotion>false</useWorkspaceInPromotion>
<usePromotionTimestamp>false</usePromotionTimestamp>
+ <retry class="jenkins.plugins.publish_over_ssh.BapSshRetry">
+ <retries>99</retries>
+ <retryDelay>12345</retryDelay>
+ </retry>
</jenkins.plugins.publish__over__ssh.BapSshPublisher>
</publishers>
<continueOnError>false</continueOnError>
diff --git a/tests/publishers/fixtures/ssh-full.yaml b/tests/publishers/fixtures/ssh-full.yaml
index fe6e94a1..151a4924 100644
--- a/tests/publishers/fixtures/ssh-full.yaml
+++ b/tests/publishers/fixtures/ssh-full.yaml
@@ -14,3 +14,5 @@ publishers:
always-publish-from-master: true
flatten: true
verbose: true
+ retries: 99
+ retry-delay: 12345