Hello community,
here is the log from the commit of package python-jenkins-job-builder for openSUSE:Factory checked in at 2019-08-05 10:38:45
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-jenkins-job-builder (Old)
and /work/SRC/openSUSE:Factory/.python-jenkins-job-builder.new.4126 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-jenkins-job-builder"
Mon Aug 5 10:38:45 2019 rev:17 rq:720469 version:3.0.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-jenkins-job-builder/python-jenkins-job-builder.changes 2019-05-17 23:43:38.813896875 +0200
+++ /work/SRC/openSUSE:Factory/.python-jenkins-job-builder.new.4126/python-jenkins-job-builder.changes 2019-08-05 10:38:47.283317117 +0200
@@ -1,0 +2,18 @@
+Thu Aug 1 12:15:16 UTC 2019 - pgajdos@suse.com
+
+- version update to 3.0.0
+ * Fix typo in bitbucket\_scm discover-branch parameter
+ * Adding support for the cachet gating plugin
+ * Correct dependencies on tox linters
+ * Add support for rendering jinja template as yaml
+ * Add support for GH Custom Notification Context
+ * Add support for 'Micro Focus Application Automation Tools'
+ * Include support for jacoco source inclusion pattern
+ * Add 'skip-initial-build' to project multibranch
+ * OpenDev Migration Patch
+ * fix job-template call in include-raw-escaped fixtures
+ * remove support of old plugin config format
+ * Add \`Specs support\` for \`artifactory\_generic\` Add support of Artifactory Specs https://www.jfrog.com/confluence/display/RTF/Using+File+Specs
+ * Ignore view update if not specified
+
+-------------------------------------------------------------------
Old:
----
jenkins-job-builder-2.10.0.tar.gz
New:
----
jenkins-job-builder-3.0.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-jenkins-job-builder.spec ++++++
--- /var/tmp/diff_new_pack.dRyiGN/_old 2019-08-05 10:38:47.887317044 +0200
+++ /var/tmp/diff_new_pack.dRyiGN/_new 2019-08-05 10:38:47.891317043 +0200
@@ -19,7 +19,7 @@
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-jenkins-job-builder
-Version: 2.10.0
+Version: 3.0.0
Release: 0
Summary: Program for configuring Jenkins jobs with YAML
License: Apache-2.0
@@ -44,6 +44,7 @@
Requires: python-fasteners
Requires: python-pbr >= 1.8
Requires: python-python-jenkins >= 0.4.15
+Requires: python-setuptools
Requires: python-six >= 1.9.0
Requires: python-stevedore >= 1.17.1
Requires(post): update-alternatives
++++++ jenkins-job-builder-2.10.0.tar.gz -> jenkins-job-builder-3.0.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jenkins-job-builder-2.10.0/.zuul.yaml new/jenkins-job-builder-3.0.0/.zuul.yaml
--- old/jenkins-job-builder-2.10.0/.zuul.yaml 2019-04-10 03:26:38.000000000 +0200
+++ new/jenkins-job-builder-3.0.0/.zuul.yaml 2019-07-25 18:33:39.000000000 +0200
@@ -3,8 +3,8 @@
description: Tests compatibility with master branch of python-jenkins
parent: tox-py27
required-projects:
- - openstack/python-jenkins
- - openstack-infra/jenkins-job-builder
+ - jjb/python-jenkins
+ - jjb/jenkins-job-builder
voting: true
- project:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jenkins-job-builder-2.10.0/AUTHORS new/jenkins-job-builder-3.0.0/AUTHORS
--- old/jenkins-job-builder-2.10.0/AUTHORS 2019-04-10 03:28:48.000000000 +0200
+++ new/jenkins-job-builder-3.0.0/AUTHORS 2019-07-25 18:34:37.000000000 +0200
@@ -38,6 +38,7 @@
Atin Ruia
Atsushi SAKAI
Attila Fazekas
+Aviel Yosef
Ayoub Elhamdani
Azat Khuzhin
Bao Nguyen
@@ -62,6 +63,7 @@
Carl Loa Odin
Chris Burroughs
Chris Denneen
+Chris Koehnke
Christian Berendt
Christian Fetzer
Christian Fetzer
@@ -131,6 +133,7 @@
Imran Malik
Inaky Perez-Gonzalez
Isaac Beckman
+Ivan Fernandez Calvo
Ivan Remizov
Jacqueline Haefke
Jaime Flynn
@@ -147,6 +150,7 @@
Jef Mallal
Jef Mallal
Jeff Grafton
+Jelle van der Waa
Jeremy Phelps
Jeremy Stanley
Jerome Hourquebie
@@ -156,6 +160,7 @@
Joakim Löfgren
Joakim Soderberg
Joao Vale
+Johann David
Johannes Erdfelt
John Fragoulis
John Patterson
@@ -237,6 +242,7 @@
Olivier Bierlaire
Ondra Machacek
Ondřej Nový
+Patrick Paul
Patrik Boström
Paul Belanger
Paul Morie
@@ -248,6 +254,7 @@
Peter Liljenberg
Peter Szabo
Philip Marc Schwartz
+Philip Roche
Philippe Godin
Pierre Rognant
Praveen Kumar
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jenkins-job-builder-2.10.0/ChangeLog new/jenkins-job-builder-3.0.0/ChangeLog
--- old/jenkins-job-builder-2.10.0/ChangeLog 2019-04-10 03:28:48.000000000 +0200
+++ new/jenkins-job-builder-3.0.0/ChangeLog 2019-07-25 18:34:37.000000000 +0200
@@ -1,6 +1,27 @@
CHANGES
=======
+3.0.0
+-----
+
+* Fix typo in bitbucket\_scm discover-branch parameter
+* Adding support for the cachet gating plugin
+* Correct dependencies on tox linters
+* Add support for rendering jinja template as yaml
+* Add support for GH Custom Notification Context
+* Add support for 'Micro Focus Application Automation Tools'
+
+2.10.1
+------
+
+* Include support for jacoco source inclusion pattern
+* Add 'skip-initial-build' to project multibranch
+* OpenDev Migration Patch
+* fix job-template call in include-raw-escaped fixtures
+* remove support of old plugin config format
+* Add \`Specs support\` for \`artifactory\_generic\` Add support of Artifactory Specs https://www.jfrog.com/confluence/display/RTF/Using+File+Specs
+* Ignore view update if not specified
+
2.10.0
------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jenkins-job-builder-2.10.0/PKG-INFO new/jenkins-job-builder-3.0.0/PKG-INFO
--- old/jenkins-job-builder-2.10.0/PKG-INFO 2019-04-10 03:28:49.000000000 +0200
+++ new/jenkins-job-builder-3.0.0/PKG-INFO 2019-07-25 18:34:38.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 1.1
Name: jenkins-job-builder
-Version: 2.10.0
+Version: 3.0.0
Summary: Manage Jenkins jobs with YAML
Home-page: https://docs.openstack.org/infra/jenkins-job-builder/
Author: OpenStack Infrastructure Team
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jenkins-job-builder-2.10.0/jenkins_job_builder.egg-info/PKG-INFO new/jenkins-job-builder-3.0.0/jenkins_job_builder.egg-info/PKG-INFO
--- old/jenkins-job-builder-2.10.0/jenkins_job_builder.egg-info/PKG-INFO 2019-04-10 03:28:48.000000000 +0200
+++ new/jenkins-job-builder-3.0.0/jenkins_job_builder.egg-info/PKG-INFO 2019-07-25 18:34:37.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 1.1
Name: jenkins-job-builder
-Version: 2.10.0
+Version: 3.0.0
Summary: Manage Jenkins jobs with YAML
Home-page: https://docs.openstack.org/infra/jenkins-job-builder/
Author: OpenStack Infrastructure Team
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jenkins-job-builder-2.10.0/jenkins_job_builder.egg-info/SOURCES.txt new/jenkins-job-builder-3.0.0/jenkins_job_builder.egg-info/SOURCES.txt
--- old/jenkins-job-builder-2.10.0/jenkins_job_builder.egg-info/SOURCES.txt 2019-04-10 03:28:49.000000000 +0200
+++ new/jenkins-job-builder-3.0.0/jenkins_job_builder.egg-info/SOURCES.txt 2019-07-25 18:34:38.000000000 +0200
@@ -769,6 +769,8 @@
tests/properties/fixtures/build-discarder-001.yaml
tests/properties/fixtures/build-discarder-002.xml
tests/properties/fixtures/build-discarder-002.yaml
+tests/properties/fixtures/cachet-gating.xml
+tests/properties/fixtures/cachet-gating.yaml
tests/properties/fixtures/copyartifact-multiple.xml
tests/properties/fixtures/copyartifact-multiple.yaml
tests/properties/fixtures/copyartifact.xml
@@ -1103,6 +1105,10 @@
tests/publishers/fixtures/growl-minimal.yaml
tests/publishers/fixtures/hipchat001.xml
tests/publishers/fixtures/hipchat001.yaml
+tests/publishers/fixtures/hp-alm001.xml
+tests/publishers/fixtures/hp-alm001.yaml
+tests/publishers/fixtures/hp-alm002.xml
+tests/publishers/fixtures/hp-alm002.yaml
tests/publishers/fixtures/html-publisher001.xml
tests/publishers/fixtures/html-publisher001.yaml
tests/publishers/fixtures/hue-light-full.xml
@@ -1753,6 +1759,10 @@
tests/wrappers/fixtures/artifactory004.plugins_info.yaml
tests/wrappers/fixtures/artifactory004.xml
tests/wrappers/fixtures/artifactory004.yaml
+tests/wrappers/fixtures/artifactory005.xml
+tests/wrappers/fixtures/artifactory005.yaml
+tests/wrappers/fixtures/artifactory006.xml
+tests/wrappers/fixtures/artifactory006.yaml
tests/wrappers/fixtures/build-keeper0001.xml
tests/wrappers/fixtures/build-keeper0001.yaml
tests/wrappers/fixtures/build-keeper0002.xml
@@ -2000,6 +2010,9 @@
tests/yamlparser/fixtures/include_path002.conf
tests/yamlparser/fixtures/include_path002.xml
tests/yamlparser/fixtures/include_path002.yaml
+tests/yamlparser/fixtures/jinja-as-yaml-include01.xml
+tests/yamlparser/fixtures/jinja-as-yaml-include01.yaml
+tests/yamlparser/fixtures/jinja-as-yaml-include01.yaml.inc
tests/yamlparser/fixtures/jinja-include01.xml
tests/yamlparser/fixtures/jinja-include01.yaml
tests/yamlparser/fixtures/jinja-include01.yaml.inc
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jenkins-job-builder-2.10.0/jenkins_job_builder.egg-info/pbr.json new/jenkins-job-builder-3.0.0/jenkins_job_builder.egg-info/pbr.json
--- old/jenkins-job-builder-2.10.0/jenkins_job_builder.egg-info/pbr.json 2019-04-10 03:28:48.000000000 +0200
+++ new/jenkins-job-builder-3.0.0/jenkins_job_builder.egg-info/pbr.json 2019-07-25 18:34:37.000000000 +0200
@@ -1 +1 @@
-{"git_version": "1e24fcee", "is_release": true}
\ No newline at end of file
+{"git_version": "1d48093f", "is_release": true}
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jenkins-job-builder-2.10.0/jenkins_jobs/config.py new/jenkins-job-builder-3.0.0/jenkins_jobs/config.py
--- old/jenkins-job-builder-2.10.0/jenkins_jobs/config.py 2019-04-10 03:26:38.000000000 +0200
+++ new/jenkins-job-builder-3.0.0/jenkins_jobs/config.py 2019-07-25 18:33:39.000000000 +0200
@@ -360,18 +360,5 @@
return result
def get_plugin_config(self, plugin, key, default=None):
- value = self.get_module_config('plugin "{}"'.format(plugin), key,
- default)
-
- # Backwards compatibility for users who have not switched to the new
- # plugin configuration format in their config. This code should be
- # removed in future versions of JJB after 2.0.
- if value is default:
- old_value = self.get_module_config(plugin, key, _NOTSET)
- # only log warning if detected a plugin config setting.
- if old_value is not _NOTSET:
- value = old_value
- logger.warning(
- DEPRECATED_PLUGIN_CONFIG_SECTION_MESSAGE.format(
- plugin=plugin))
- return value
+ return self.get_module_config('plugin "{}"'.format(plugin), key,
+ default)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jenkins-job-builder-2.10.0/jenkins_jobs/formatter.py new/jenkins-job-builder-3.0.0/jenkins_jobs/formatter.py
--- old/jenkins-job-builder-2.10.0/jenkins_jobs/formatter.py 2019-04-10 03:26:38.000000000 +0200
+++ new/jenkins-job-builder-3.0.0/jenkins_jobs/formatter.py 2019-07-25 18:33:39.000000000 +0200
@@ -26,7 +26,7 @@
logger = logging.getLogger(__name__)
-def deep_format(obj, paramdict, allow_empty=False):
+def deep_format(obj, paramdict, allow_empty=False, template=True):
"""Apply the paramdict via str.format() to all string objects found within
the supplied obj. Lists and dicts are traversed recursively."""
# YAML serialisation was originally used to achieve this, but that places
@@ -50,13 +50,26 @@
elif isinstance(obj, list):
ret = type(obj)()
for item in obj:
- ret.append(deep_format(item, paramdict, allow_empty))
+ ret.append(deep_format(item, paramdict,
+ allow_empty=allow_empty,
+ template=template))
elif isinstance(obj, dict):
ret = type(obj)()
for item in obj:
try:
- ret[CustomFormatter(allow_empty).format(item, **paramdict)] = \
- deep_format(obj[item], paramdict, allow_empty)
+ # deep_formatting dsl when not a job-template is not necessary
+ # as it will most likely result in keyerror due to trying
+ # to substitute values inside the dsl that do not exist.
+ if item not in ['dsl'] or template:
+ ret[CustomFormatter(allow_empty).format(item,
+ **paramdict)] = \
+ deep_format(obj[item], paramdict,
+ allow_empty=allow_empty,
+ template=template)
+ else:
+ ret[CustomFormatter(allow_empty).format(item,
+ **paramdict)] = \
+ obj[item]
except KeyError as exc:
missing_key = exc.args[0]
desc = "%s parameter missing to format %s\nGiven:\n%s" % (
@@ -72,7 +85,8 @@
if isinstance(ret, CustomLoader):
# If we have a CustomLoader here, we've lazily-loaded a template;
# attempt to format it.
- ret = deep_format(ret, paramdict, allow_empty=allow_empty)
+ ret = deep_format(ret, paramdict, allow_empty=allow_empty,
+ template=template)
return ret
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jenkins-job-builder-2.10.0/jenkins_jobs/local_yaml.py new/jenkins-job-builder-3.0.0/jenkins_jobs/local_yaml.py
--- old/jenkins-job-builder-2.10.0/jenkins_jobs/local_yaml.py 2019-04-10 03:26:38.000000000 +0200
+++ new/jenkins-job-builder-3.0.0/jenkins_jobs/local_yaml.py 2019-07-25 18:33:39.000000000 +0200
@@ -491,6 +491,17 @@
return Jinja2Loader(contents, loader.search_path)
+class YamlIncludeJinja2AsYaml(YamlIncludeJinja2):
+ yaml_tag = u'!include-jinja2-as-yaml:'
+
+ @classmethod
+ def _from_file(cls, loader, node):
+ contents = cls._open_file(loader, node)
+ if isinstance(contents, LazyLoader):
+ return contents
+ return Jinja2LoaderAsYaml(contents, loader.search_path)
+
+
class DeprecatedTag(BaseYAMLObject):
@classmethod
@@ -537,6 +548,14 @@
return self._template.render(kwargs)
+class Jinja2LoaderAsYaml(Jinja2Loader):
+ """A loader for Jinja2-templated files that renders yaml."""
+
+ def format(self, **kwargs):
+ raw_yaml = super(Jinja2LoaderAsYaml, self).format(**kwargs)
+ return yaml.load(raw_yaml)
+
+
class CustomLoaderCollection(object):
"""Helper class to format a collection of CustomLoader objects"""
def __init__(self, sequence):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jenkins-job-builder-2.10.0/jenkins_jobs/modules/project_multibranch.py new/jenkins-job-builder-3.0.0/jenkins_jobs/modules/project_multibranch.py
--- old/jenkins-job-builder-2.10.0/jenkins_jobs/modules/project_multibranch.py 2019-04-10 03:26:38.000000000 +0200
+++ new/jenkins-job-builder-3.0.0/jenkins_jobs/modules/project_multibranch.py 2019-07-25 18:33:39.000000000 +0200
@@ -308,7 +308,7 @@
:arg str head-filter-regex: A regular expression for filtering
discovered source branches. Requires the :jenkins-wiki:`SCM API Plugin
`.
- :arg str discovery-branch: Discovers branches on the repository.
+ :arg str discover-branch: Discovers branches on the repository.
Valid options: ex-pr, only-pr, all.
Value is not specified by default.
:arg str discover-pr-origin: Discovers pull requests where the origin
@@ -796,6 +796,10 @@
discovered initially or a change from the previous revision has been
detected. (optional)
Refer to :func:`~build_strategies `.
+ :arg str notification-context: Change the default GitHub check notification
+ context from "continuous-integration/jenkins/SUFFIX" to a custom text,
+ Requires the :jenkins-wiki:`Github Custom Notification Context SCM
+ Behaviour `.
:arg dict property-strategies: Provides control over how to build a branch
(like to disable SCM triggering or to override the pipeline durability)
(optional)
@@ -980,6 +984,14 @@
if data.get('build-strategies', None):
build_strategies(xml_parent, data)
+ if data.get('notification-context', None):
+ rshf = XML.SubElement(traits,
+ 'org.jenkinsci.plugins.githubScmTraitNotificationContext.'
+ 'NotificationContextTrait')
+ XML.SubElement(rshf, 'contextLabel').text = data.get(
+ 'notification-context')
+ XML.SubElement(rshf, 'typeSuffix').text = 'true'
+
# handle the default git extensions like:
# - clean
# - shallow-clone
@@ -1025,6 +1037,8 @@
(optional, default false)
* **regular-branches** (bool): Builds regular branches whenever a
change is detected. (optional, default None)
+ * **skip-initial-build** (bool): Skip initial build on first branch
+ indexing. (optional, default None)
* **named-branches** (list): Builds named branches whenever a change
is detected.
@@ -1079,6 +1093,12 @@
'plugin': 'basic-branch-build-strategies',
})
+ if bbs_list.get('skip-initial-build', False):
+ XML.SubElement(bbs, ''.join([basic_build_strategies,
+ '.SkipInitialBuildOnFirstBranchIndexing']), {
+ 'plugin': 'basic-branch-build-strategies',
+ })
+
if 'change-request' in bbs_list:
cr = bbs_list['change-request']
cr_elem = XML.SubElement(bbs, ''.join([basic_build_strategies,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jenkins-job-builder-2.10.0/jenkins_jobs/modules/properties.py new/jenkins-job-builder-3.0.0/jenkins_jobs/modules/properties.py
--- old/jenkins-job-builder-2.10.0/jenkins_jobs/modules/properties.py 2019-04-10 03:26:38.000000000 +0200
+++ new/jenkins-job-builder-3.0.0/jenkins_jobs/modules/properties.py 2019-07-25 18:33:39.000000000 +0200
@@ -1217,6 +1217,41 @@
'DisableResumeJobProperty')
+def cachet_gating(registry, xml_parent, data):
+ """yaml: cachet-gating
+ The Cachet Gating Plugin provides a gating mechanism
+ based on the availability of resources.
+
+ Requires the Jenkins: :jenkins-wiki:`Cachet Gate Plugin
+ `.
+
+ :arg bool required-resources: Confirm availability of listed
+ resources before building. Requires the list of resources to
+ also be defined. (default true)
+ :arg list resources: which resources to gate
+
+ Example:
+
+ .. literalinclude:: /../../tests/properties/fixtures/cachet-gating.yaml
+ :language: yaml
+ """
+ cachet = XML.SubElement(
+ xml_parent, 'com.redhat.jenkins.plugins.cachet.CachetJobProperty')
+ cachet.set('plugin', 'cachet-gating')
+
+ mapping = [
+ ('required-resources', 'requiredResources', True),
+ ]
+ helpers.convert_mapping_to_xml(
+ cachet, data, mapping, fail_required=True)
+
+ resources_data = data.get('resources', [])
+ if resources_data:
+ resources = XML.SubElement(cachet, 'resources')
+ for resource in resources_data:
+ XML.SubElement(resources, 'string').text = str(resource)
+
+
class Properties(jenkins_jobs.modules.base.Base):
sequence = 20
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jenkins-job-builder-2.10.0/jenkins_jobs/modules/publishers.py new/jenkins-job-builder-3.0.0/jenkins_jobs/modules/publishers.py
--- old/jenkins-job-builder-2.10.0/jenkins_jobs/modules/publishers.py 2019-04-10 03:26:42.000000000 +0200
+++ new/jenkins-job-builder-3.0.0/jenkins_jobs/modules/publishers.py 2019-07-25 18:33:39.000000000 +0200
@@ -1085,6 +1085,8 @@
to locate class files (default ``**/classes``)
:arg str source-pattern: This is a file name pattern that can be used
to locate source files (default ``**/src/main/java``)
+ :arg str source-inclusion-pattern: This is a file name pattern that can
+ be used to include certain source files (default ``**/*.java``)
:arg bool update-build-status: Update the build according to the results
(default false)
:arg str inclusion-pattern: This is a file name pattern that can be used
@@ -1117,6 +1119,7 @@
('exec-pattern', 'execPattern', '**/**.exec'),
('class-pattern', 'classPattern', '**/classes'),
('source-pattern', 'sourcePattern', '**/src/main/java'),
+ ('source-inclusion-pattern', 'sourceInclusionPattern', '**/*.java'),
('update-build-status', 'changeBuildStatus', False),
('inclusion-pattern', 'inclusionPattern', ''),
('exclusion-pattern', 'exclusionPattern', ''),
@@ -1394,6 +1397,76 @@
data.get('custom-message', '')
+def hp_alm(registry, xml_parent, data):
+ """yaml: hp-alm
+ Publish test results to HP-ALM.
+
+ Requires the Jenkins :jenkins-wiki:`Micro Focus Application Automation
+ Tools `.
+
+ :arg str server-name: The name of the ALM Server. (required)
+ :arg str credentials-id: credentials-id of the user (default '')
+ :arg str domaine: The Domain of the project to be used. (required)
+ :arg str client-type: Client type is required for some ALM above 12.60
+ in authentication.(default '')
+ :arg str project: The project to be used. (required)
+ :arg str testing-framework: The testing framework that is used when
+ generate the testing result file. (default Junit)
+ :arg str testing-tool: The testing tool that is used when generate
+ the testing result file. (default '')
+ :arg str folder: The path of the test folder that will contain
+ the uploaded test.
+ The path doesn't include the Root test folder (Subject).
+ For example, sampletestfolder/subfolder means, the tests will be
+ uploaded to test folder named 'subfolder', which is under
+ the test folder named 'sampletestfolder', and 'sampletestfolder'
+ is under the root test folder 'Subject'. (required)
+ :arg str set-folder: The path of the testset folder that will contain
+ the uploaded testset. The path doesn't include the Root testset folder.
+ For example, sampletestsetfolder/subfolder means, the testsets will be
+ uploaded to testset folder named 'subfolder', which is under
+ the testset folder named 'sampletestsetfolder',
+ and 'sampletestsetfolder' is under the root testset folder 'Root'.
+ (required)
+ :arg str testing-result-file: The condition to find the testing
+ result file, start from the root path of the job.
+ For example, ``**/junitResult.xml`` to find testing result file
+ for Junit Plugin, ``**/testng-results.xml`` to find
+ testing result file for TestNG plugin. (required)
+ :arg str jenkins-server-url: The HTTP URL of the Jenkins Server,
+ form example, http://myjenkinsserver.test.com:8080 . (optional)
+
+ Minimal example using defaults:
+
+ .. literalinclude:: /../../tests/publishers/fixtures/hp-alm001.yaml
+ :language: yaml
+
+ Full example:
+
+ .. literalinclude:: /../../tests/publishers/fixtures/hp-alm002.yaml
+ :language: yaml
+ """
+ alm_uploader = XML.SubElement(xml_parent,
+ 'com.microfocus.application.automation.'
+ 'tools.results.TestResultToALMUploader')
+ alm_uploader.set('plugin', 'hp-application-automation-tools-plugin')
+ mapping = [
+ ('server-name', 'almServerName', None),
+ ('credentials-id', 'credentialsId', ''),
+ ('domain', 'almDomain', None),
+ ('project', 'almProject', None),
+ ('client-type', 'clientType', ''),
+ ('testing-framework', 'testingFramework', 'JUnit'),
+ ('testing-tool', 'testingTool', ''),
+ ('folder', 'almTestFolder', None),
+ ('set-folder', 'almTestSetFolder', None),
+ ('testing-result-file', 'testingResultFile', None),
+ ('jenkins-server-url', 'jenkinsServerUrl', ''),
+ ]
+ helpers.convert_mapping_to_xml(
+ alm_uploader, data, mapping, fail_required=True)
+
+
def junit(registry, xml_parent, data):
"""yaml: junit
Publish JUnit test results.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jenkins-job-builder-2.10.0/jenkins_jobs/modules/wrappers.py new/jenkins-job-builder-3.0.0/jenkins_jobs/modules/wrappers.py
--- old/jenkins-job-builder-2.10.0/jenkins_jobs/modules/wrappers.py 2019-04-10 03:26:38.000000000 +0200
+++ new/jenkins-job-builder-3.0.0/jenkins_jobs/modules/wrappers.py 2019-07-25 18:33:39.000000000 +0200
@@ -2437,6 +2437,14 @@
(default '')
:arg str key-from-text: Repository key to use that can be configured
dynamically using Jenkins variables (plugin >= 2.3.0) (default '')
+ :arg str upload-spec: File Spec schema for uploading files is as follows
+ (default '')
+ :arg str download-spec: File Spec schema for downloading
+ files is as follows (default '')
+ :arg str upload-spec-file: File location for uploading Spec schema
+ (default '')
+ :arg str download-spec-file: File location for downloading Spec schema
+ (default '')
:arg list deploy-pattern: List of patterns for mappings
build artifacts to published artifacts. Supports Ant-style wildcards
mapping to target directories. E.g.: */*.zip=>dir (default [])
@@ -2470,6 +2478,7 @@
"""
+ use_specs = False
artifactory = XML.SubElement(
xml_parent,
'org.jfrog.hudson.generic.ArtifactoryGenericConfigurator')
@@ -2502,6 +2511,28 @@
helpers.convert_mapping_to_xml(
details, data, mapping, fail_required=False)
+ if 'upload-spec' in data or 'download-spec' in data:
+ upload_spec = data.get('upload-spec', '')
+ upl_spec_xml = XML.SubElement(artifactory, 'uploadSpec')
+ XML.SubElement(upl_spec_xml, 'spec').text = upload_spec
+
+ download_spec = data.get('download-spec', '')
+ dnl_spec_xml = XML.SubElement(artifactory, 'downloadSpec')
+ XML.SubElement(dnl_spec_xml, 'spec').text = download_spec
+ use_specs = True
+
+ if 'upload-spec-file' in data or 'download-spec-file' in data:
+ upload_spec_file = data.get('upload-spec-file', '')
+ upl_spec_xml = XML.SubElement(artifactory, 'uploadSpec')
+ XML.SubElement(upl_spec_xml, 'filePath').text = upload_spec_file
+
+ download_spec_file = data.get('download-spec-file', '')
+ dnl_spec_xml = XML.SubElement(artifactory, 'downloadSpec')
+ XML.SubElement(dnl_spec_xml, 'filePath').text = download_spec_file
+ use_specs = True
+
+ XML.SubElement(artifactory, 'useSpecs').text = str(use_specs).lower()
+
XML.SubElement(artifactory, 'deployPattern').text = ','.join(data.get(
'deploy-pattern', []))
XML.SubElement(artifactory, 'resolvePattern').text = ','.join(
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jenkins-job-builder-2.10.0/jenkins_jobs/parser.py new/jenkins-job-builder-3.0.0/jenkins_jobs/parser.py
--- old/jenkins-job-builder-2.10.0/jenkins_jobs/parser.py 2019-04-10 03:26:38.000000000 +0200
+++ new/jenkins-job-builder-3.0.0/jenkins_jobs/parser.py 2019-07-25 18:33:39.000000000 +0200
@@ -243,12 +243,27 @@
if jobs_glob and not matches(job['name'], jobs_glob):
logger.debug("Ignoring job {0}".format(job['name']))
continue
+
+ # Attempt to format all parts of the job definition as they might
+ # be using custom loaders.
+ try:
+ job = deep_format(job, job, template=False)
+ except Exception:
+ logging.error(
+ "Failure formatting job '%s' with itself", job)
+ raise
+
logger.debug("Expanding job '{0}'".format(job['name']))
self._formatDescription(job)
self.jobs.append(job)
for view in self.data.get('view', {}).values():
view['name'] = self._getfullname(view)
+
+ if jobs_glob and not matches(view['name'], jobs_glob):
+ logger.debug("Ignoring view {0}".format(view['name']))
+ continue
+
logger.debug("Expanding view '{0}'".format(view['name']))
self._formatDescription(view)
self.views.append(view)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jenkins-job-builder-2.10.0/test-requirements.txt new/jenkins-job-builder-3.0.0/test-requirements.txt
--- old/jenkins-job-builder-2.10.0/test-requirements.txt 2019-04-10 03:26:38.000000000 +0200
+++ new/jenkins-job-builder-3.0.0/test-requirements.txt 2019-07-25 18:33:39.000000000 +0200
@@ -12,4 +12,3 @@
tox>=2.9.1 # MIT
mock>=2.0 # BSD
sphinxcontrib-programoutput
-pre-commit>=1.12.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jenkins-job-builder-2.10.0/tests/cmd/fixtures/plugin_warning.ini new/jenkins-job-builder-3.0.0/tests/cmd/fixtures/plugin_warning.ini
--- old/jenkins-job-builder-2.10.0/tests/cmd/fixtures/plugin_warning.ini 2019-04-10 03:26:38.000000000 +0200
+++ new/jenkins-job-builder-3.0.0/tests/cmd/fixtures/plugin_warning.ini 2019-07-25 18:33:39.000000000 +0200
@@ -1,5 +1,2 @@
-[old_plugin]
-setting = some value
-
[plugin "new_plugin"]
setting = some value
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jenkins-job-builder-2.10.0/tests/cmd/test_config.py new/jenkins-job-builder-3.0.0/tests/cmd/test_config.py
--- old/jenkins-job-builder-2.10.0/tests/cmd/test_config.py 2019-04-10 03:26:38.000000000 +0200
+++ new/jenkins-job-builder-3.0.0/tests/cmd/test_config.py 2019-07-25 18:33:39.000000000 +0200
@@ -77,33 +77,6 @@
jenkins_jobs = entry.JenkinsJobs(args)
self.assertRaises(IOError, jenkins_jobs.execute)
- def test_config_old_plugin_format_warning(self):
- """
- Run test mode and check that old plugin settings result
- in a warning, while ensuring that missing sections do not
- trigger the same warning if a default value is provided.
- """
- args = ['--conf',
- os.path.join(self.fixtures_path, 'plugin_warning.ini'),
- 'test', 'foo']
- jenkins_jobs = entry.JenkinsJobs(args)
- jenkins_jobs.jjb_config.get_plugin_config(
- 'old_plugin', 'setting', True)
- jenkins_jobs.jjb_config.get_plugin_config(
- 'old_plugin_no_conf', 'setting', True)
- jenkins_jobs.jjb_config.get_plugin_config(
- 'new_plugin', 'setting')
- self.assertIn(
- 'using a [old_plugin] section in your config file is deprecated',
- self.logger.output)
- self.assertNotIn(
- 'using a [old_plugin_no_conf] secton in your config file is '
- 'deprecated',
- self.logger.output)
- self.assertNotIn(
- 'using a [new_plugin] section in your config file is deprecated',
- self.logger.output)
-
def test_config_options_not_replaced_by_cli_defaults(self):
"""
Run test mode and check config settings from conf file retained
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jenkins-job-builder-2.10.0/tests/localyaml/fixtures/include-raw-escaped-multi001.json new/jenkins-job-builder-3.0.0/tests/localyaml/fixtures/include-raw-escaped-multi001.json
--- old/jenkins-job-builder-2.10.0/tests/localyaml/fixtures/include-raw-escaped-multi001.json 2019-04-10 03:26:38.000000000 +0200
+++ new/jenkins-job-builder-3.0.0/tests/localyaml/fixtures/include-raw-escaped-multi001.json 2019-07-25 18:33:39.000000000 +0200
@@ -1,6 +1,6 @@
[
{
- "template-job": {
+ "job-template": {
"name": "test-job-include-raw-{num}",
"builders": [
{
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jenkins-job-builder-2.10.0/tests/localyaml/fixtures/include-raw-escaped-multi001.yaml new/jenkins-job-builder-3.0.0/tests/localyaml/fixtures/include-raw-escaped-multi001.yaml
--- old/jenkins-job-builder-2.10.0/tests/localyaml/fixtures/include-raw-escaped-multi001.yaml 2019-04-10 03:26:38.000000000 +0200
+++ new/jenkins-job-builder-3.0.0/tests/localyaml/fixtures/include-raw-escaped-multi001.yaml 2019-07-25 18:33:39.000000000 +0200
@@ -1,4 +1,4 @@
-- template-job:
+- job-template:
name: test-job-include-raw-{num}
builders:
- shell:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jenkins-job-builder-2.10.0/tests/multibranch/fixtures/scm_bitbucket_full.xml new/jenkins-job-builder-3.0.0/tests/multibranch/fixtures/scm_bitbucket_full.xml
--- old/jenkins-job-builder-2.10.0/tests/multibranch/fixtures/scm_bitbucket_full.xml 2019-04-10 03:26:38.000000000 +0200
+++ new/jenkins-job-builder-3.0.0/tests/multibranch/fixtures/scm_bitbucket_full.xml 2019-07-25 18:33:39.000000000 +0200
@@ -130,6 +130,7 @@
<ignoreTargetOnlyChanges>false</ignoreTargetOnlyChanges>
+
<filters>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jenkins-job-builder-2.10.0/tests/multibranch/fixtures/scm_bitbucket_full.yaml new/jenkins-job-builder-3.0.0/tests/multibranch/fixtures/scm_bitbucket_full.yaml
--- old/jenkins-job-builder-2.10.0/tests/multibranch/fixtures/scm_bitbucket_full.yaml 2019-04-10 03:26:38.000000000 +0200
+++ new/jenkins-job-builder-3.0.0/tests/multibranch/fixtures/scm_bitbucket_full.yaml 2019-07-25 18:33:39.000000000 +0200
@@ -32,6 +32,7 @@
ignore-target-only-changes: true
- change-request: {}
- regular-branches: true
+ - skip-initial-build: true
- named-branches:
- exact-name:
name: 'test'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jenkins-job-builder-2.10.0/tests/multibranch/fixtures/scm_gerrit_full.xml new/jenkins-job-builder-3.0.0/tests/multibranch/fixtures/scm_gerrit_full.xml
--- old/jenkins-job-builder-2.10.0/tests/multibranch/fixtures/scm_gerrit_full.xml 2019-04-10 03:26:38.000000000 +0200
+++ new/jenkins-job-builder-3.0.0/tests/multibranch/fixtures/scm_gerrit_full.xml 2019-07-25 18:33:39.000000000 +0200
@@ -75,6 +75,7 @@
<ignoreTargetOnlyChanges>false</ignoreTargetOnlyChanges>
+
<filters>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jenkins-job-builder-2.10.0/tests/multibranch/fixtures/scm_gerrit_full.yaml new/jenkins-job-builder-3.0.0/tests/multibranch/fixtures/scm_gerrit_full.yaml
--- old/jenkins-job-builder-2.10.0/tests/multibranch/fixtures/scm_gerrit_full.yaml 2019-04-10 03:26:38.000000000 +0200
+++ new/jenkins-job-builder-3.0.0/tests/multibranch/fixtures/scm_gerrit_full.yaml 2019-07-25 18:33:39.000000000 +0200
@@ -20,6 +20,7 @@
ignore-target-only-changes: true
- change-request: {}
- regular-branches: true
+ - skip-initial-build: true
- named-branches:
- exact-name:
name: 'test'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jenkins-job-builder-2.10.0/tests/multibranch/fixtures/scm_git_full.xml new/jenkins-job-builder-3.0.0/tests/multibranch/fixtures/scm_git_full.xml
--- old/jenkins-job-builder-2.10.0/tests/multibranch/fixtures/scm_git_full.xml 2019-04-10 03:26:38.000000000 +0200
+++ new/jenkins-job-builder-3.0.0/tests/multibranch/fixtures/scm_git_full.xml 2019-07-25 18:33:39.000000000 +0200
@@ -107,6 +107,7 @@
<ignoreTargetOnlyChanges>false</ignoreTargetOnlyChanges>
+
<filters>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jenkins-job-builder-2.10.0/tests/multibranch/fixtures/scm_git_full.yaml new/jenkins-job-builder-3.0.0/tests/multibranch/fixtures/scm_git_full.yaml
--- old/jenkins-job-builder-2.10.0/tests/multibranch/fixtures/scm_git_full.yaml 2019-04-10 03:26:38.000000000 +0200
+++ new/jenkins-job-builder-3.0.0/tests/multibranch/fixtures/scm_git_full.yaml 2019-07-25 18:33:39.000000000 +0200
@@ -22,6 +22,7 @@
ignore-target-only-changes: true
- change-request: {}
- regular-branches: true
+ - skip-initial-build: true
- named-branches:
- exact-name:
name: 'test'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jenkins-job-builder-2.10.0/tests/multibranch/fixtures/scm_github_full.xml new/jenkins-job-builder-3.0.0/tests/multibranch/fixtures/scm_github_full.xml
--- old/jenkins-job-builder-2.10.0/tests/multibranch/fixtures/scm_github_full.xml 2019-04-10 03:26:38.000000000 +0200
+++ new/jenkins-job-builder-3.0.0/tests/multibranch/fixtures/scm_github_full.xml 2019-07-25 18:33:39.000000000 +0200
@@ -55,6 +55,10 @@
<regex>(.*/master|.*/release/.*)</regex>
+
+ <contextLabel>jenkins.example.com/my_context</contextLabel>
+ <typeSuffix>true</typeSuffix>
+
<extension class="hudson.plugins.git.extensions.impl.CleanCheckout"/>
@@ -122,6 +126,7 @@
<ignoreTargetOnlyChanges>false</ignoreTargetOnlyChanges>
+
<filters>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jenkins-job-builder-2.10.0/tests/multibranch/fixtures/scm_github_full.yaml new/jenkins-job-builder-3.0.0/tests/multibranch/fixtures/scm_github_full.yaml
--- old/jenkins-job-builder-2.10.0/tests/multibranch/fixtures/scm_github_full.yaml 2019-04-10 03:26:38.000000000 +0200
+++ new/jenkins-job-builder-3.0.0/tests/multibranch/fixtures/scm_github_full.yaml 2019-07-25 18:33:39.000000000 +0200
@@ -15,6 +15,7 @@
discover-pr-forks-trust: everyone
discover-pr-origin: both
discover-tags: true
+ notification-context: 'jenkins.example.com/my_context'
property-strategies:
all-branches:
- suppress-scm-triggering: true
@@ -28,6 +29,7 @@
ignore-target-only-changes: true
- change-request: {}
- regular-branches: true
+ - skip-initial-build: true
- named-branches:
- exact-name:
name: 'test'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jenkins-job-builder-2.10.0/tests/properties/fixtures/cachet-gating.xml new/jenkins-job-builder-3.0.0/tests/properties/fixtures/cachet-gating.xml
--- old/jenkins-job-builder-2.10.0/tests/properties/fixtures/cachet-gating.xml 1970-01-01 01:00:00.000000000 +0100
+++ new/jenkins-job-builder-3.0.0/tests/properties/fixtures/cachet-gating.xml 2019-07-25 18:33:39.000000000 +0200
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
+<project>
+ <properties>
+
+ <requiredResources>true</requiredResources>
+ <resources>
+ <string>beaker</string>
+ <string>brew</string>
+ </resources>
+
+ </properties>
+</project>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jenkins-job-builder-2.10.0/tests/properties/fixtures/cachet-gating.yaml new/jenkins-job-builder-3.0.0/tests/properties/fixtures/cachet-gating.yaml
--- old/jenkins-job-builder-2.10.0/tests/properties/fixtures/cachet-gating.yaml 1970-01-01 01:00:00.000000000 +0100
+++ new/jenkins-job-builder-3.0.0/tests/properties/fixtures/cachet-gating.yaml 2019-07-25 18:33:39.000000000 +0200
@@ -0,0 +1,6 @@
+properties:
+ - cachet-gating:
+ required-resources: true
+ resources:
+ - beaker
+ - brew
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jenkins-job-builder-2.10.0/tests/publishers/fixtures/hp-alm001.xml new/jenkins-job-builder-3.0.0/tests/publishers/fixtures/hp-alm001.xml
--- old/jenkins-job-builder-2.10.0/tests/publishers/fixtures/hp-alm001.xml 1970-01-01 01:00:00.000000000 +0100
+++ new/jenkins-job-builder-3.0.0/tests/publishers/fixtures/hp-alm001.xml 2019-07-25 18:33:39.000000000 +0200
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="utf-8"?>
+<project>
+ <publishers>
+
+ <almServerName>HP-ALM</almServerName>
+ <credentialsId/>
+ <almDomain>FOO_COMPANY</almDomain>
+ <almProject>foo_project</almProject>
+ <clientType/>
+ <testingFramework>JUnit</testingFramework>
+ <testingTool/>
+ <almTestFolder>ALM/foo/release1/test_case1</almTestFolder>
+ <almTestSetFolder>ALM/foo/release1/test_case1/$env</almTestSetFolder>
+ <testingResultFile>**/junitResult.xml</testingResultFile>
+ <jenkinsServerUrl/>
+
+ </publishers>
+</project>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jenkins-job-builder-2.10.0/tests/publishers/fixtures/hp-alm001.yaml new/jenkins-job-builder-3.0.0/tests/publishers/fixtures/hp-alm001.yaml
--- old/jenkins-job-builder-2.10.0/tests/publishers/fixtures/hp-alm001.yaml 1970-01-01 01:00:00.000000000 +0100
+++ new/jenkins-job-builder-3.0.0/tests/publishers/fixtures/hp-alm001.yaml 2019-07-25 18:33:39.000000000 +0200
@@ -0,0 +1,8 @@
+publishers:
+ - hp-alm:
+ server-name: HP-ALM
+ domain: FOO_COMPANY
+ project: foo_project
+ folder: 'ALM/foo/release1/test_case1'
+ set-folder: 'ALM/foo/release1/test_case1/$env'
+ testing-result-file: '**/junitResult.xml'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jenkins-job-builder-2.10.0/tests/publishers/fixtures/hp-alm002.xml new/jenkins-job-builder-3.0.0/tests/publishers/fixtures/hp-alm002.xml
--- old/jenkins-job-builder-2.10.0/tests/publishers/fixtures/hp-alm002.xml 1970-01-01 01:00:00.000000000 +0100
+++ new/jenkins-job-builder-3.0.0/tests/publishers/fixtures/hp-alm002.xml 2019-07-25 18:33:39.000000000 +0200
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="utf-8"?>
+<project>
+ <publishers>
+
+ <almServerName>HP-ALM</almServerName>
+ <credentialsId>cba09876-4321-4567-890a-bcde12345678</credentialsId>
+ <almDomain>FOO_COMPANY</almDomain>
+ <almProject>foo_project</almProject>
+ <clientType>foo_client</clientType>
+ <testingFramework>JUnit</testingFramework>
+ <testingTool>foo_tool</testingTool>
+ <almTestFolder>ALM/foo/release1/test_case1</almTestFolder>
+ <almTestSetFolder>ALM/foo/release1/test_case1/$env</almTestSetFolder>
+ <testingResultFile>**/junitResult.xml</testingResultFile>
+ <jenkinsServerUrl>http://myjenkinsserver.test.com:8080</jenkinsServerUrl>
+
+ </publishers>
+</project>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jenkins-job-builder-2.10.0/tests/publishers/fixtures/hp-alm002.yaml new/jenkins-job-builder-3.0.0/tests/publishers/fixtures/hp-alm002.yaml
--- old/jenkins-job-builder-2.10.0/tests/publishers/fixtures/hp-alm002.yaml 1970-01-01 01:00:00.000000000 +0100
+++ new/jenkins-job-builder-3.0.0/tests/publishers/fixtures/hp-alm002.yaml 2019-07-25 18:33:39.000000000 +0200
@@ -0,0 +1,13 @@
+publishers:
+ - hp-alm:
+ server-name: HP-ALM
+ credentials-id: cba09876-4321-4567-890a-bcde12345678
+ domain: FOO_COMPANY
+ project: foo_project
+ client-type: foo_client
+ testing-framework: JUnit
+ testing-tool: foo_tool
+ folder: 'ALM/foo/release1/test_case1'
+ set-folder: 'ALM/foo/release1/test_case1/$env'
+ testing-result-file: '**/junitResult.xml'
+ jenkins-server-url: 'http://myjenkinsserver.test.com:8080'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jenkins-job-builder-2.10.0/tests/publishers/fixtures/jacoco-full.xml new/jenkins-job-builder-3.0.0/tests/publishers/fixtures/jacoco-full.xml
--- old/jenkins-job-builder-2.10.0/tests/publishers/fixtures/jacoco-full.xml 2019-04-10 03:26:38.000000000 +0200
+++ new/jenkins-job-builder-3.0.0/tests/publishers/fixtures/jacoco-full.xml 2019-07-25 18:33:39.000000000 +0200
@@ -5,6 +5,7 @@
<execPattern>**/**.exec</execPattern>
<classPattern>**/classes</classPattern>
<sourcePattern>**/src/main/java</sourcePattern>
+ <sourceInclusionPattern>**/*.java,**/*.kt</sourceInclusionPattern>
<changeBuildStatus>true</changeBuildStatus>
<inclusionPattern>**/*.class</inclusionPattern>
<exclusionPattern>**/*Test*.class</exclusionPattern>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jenkins-job-builder-2.10.0/tests/publishers/fixtures/jacoco-full.yaml new/jenkins-job-builder-3.0.0/tests/publishers/fixtures/jacoco-full.yaml
--- old/jenkins-job-builder-2.10.0/tests/publishers/fixtures/jacoco-full.yaml 2019-04-10 03:26:38.000000000 +0200
+++ new/jenkins-job-builder-3.0.0/tests/publishers/fixtures/jacoco-full.yaml 2019-07-25 18:33:39.000000000 +0200
@@ -3,6 +3,7 @@
exec-pattern: '**/**.exec'
class-pattern: '**/classes'
source-pattern: '**/src/main/java'
+ source-inclusion-pattern: '**/*.java,**/*.kt'
update-build-status: true
inclusion-pattern: '**/*.class'
exclusion-pattern: '**/*Test*.class'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jenkins-job-builder-2.10.0/tests/publishers/fixtures/jacoco-minimal.xml new/jenkins-job-builder-3.0.0/tests/publishers/fixtures/jacoco-minimal.xml
--- old/jenkins-job-builder-2.10.0/tests/publishers/fixtures/jacoco-minimal.xml 2019-04-10 03:26:38.000000000 +0200
+++ new/jenkins-job-builder-3.0.0/tests/publishers/fixtures/jacoco-minimal.xml 2019-07-25 18:33:39.000000000 +0200
@@ -5,6 +5,7 @@
<execPattern>**/**.exec</execPattern>
<classPattern>**/classes</classPattern>
<sourcePattern>**/src/main/java</sourcePattern>
+ <sourceInclusionPattern>**/*.java</sourceInclusionPattern>
<changeBuildStatus>false</changeBuildStatus>
<inclusionPattern/>
<exclusionPattern/>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jenkins-job-builder-2.10.0/tests/publishers/fixtures/jacoco001.xml new/jenkins-job-builder-3.0.0/tests/publishers/fixtures/jacoco001.xml
--- old/jenkins-job-builder-2.10.0/tests/publishers/fixtures/jacoco001.xml 2019-04-10 03:26:38.000000000 +0200
+++ new/jenkins-job-builder-3.0.0/tests/publishers/fixtures/jacoco001.xml 2019-07-25 18:33:39.000000000 +0200
@@ -5,6 +5,7 @@
<execPattern>**/**.exec</execPattern>
<classPattern>**/classes</classPattern>
<sourcePattern>**/src/main/java</sourcePattern>
+ <sourceInclusionPattern>**/*.java</sourceInclusionPattern>
<changeBuildStatus>true</changeBuildStatus>
<inclusionPattern/>
<exclusionPattern/>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jenkins-job-builder-2.10.0/tests/publishers/fixtures/jacoco001.yaml new/jenkins-job-builder-3.0.0/tests/publishers/fixtures/jacoco001.yaml
--- old/jenkins-job-builder-2.10.0/tests/publishers/fixtures/jacoco001.yaml 2019-04-10 03:26:38.000000000 +0200
+++ new/jenkins-job-builder-3.0.0/tests/publishers/fixtures/jacoco001.yaml 2019-07-25 18:33:39.000000000 +0200
@@ -3,6 +3,7 @@
exec-pattern: "**/**.exec"
class-pattern: "**/classes"
source-pattern: "**/src/main/java"
+ source-inclusion-pattern: '**/*.java'
update-build-status: true
targets:
- branch:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jenkins-job-builder-2.10.0/tests/publishers/fixtures/stash002.conf new/jenkins-job-builder-3.0.0/tests/publishers/fixtures/stash002.conf
--- old/jenkins-job-builder-2.10.0/tests/publishers/fixtures/stash002.conf 2019-04-10 03:26:38.000000000 +0200
+++ new/jenkins-job-builder-3.0.0/tests/publishers/fixtures/stash002.conf 2019-07-25 18:33:39.000000000 +0200
@@ -1,3 +1,3 @@
-[stash]
+[plugin "stash"]
username=user
password=pass
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jenkins-job-builder-2.10.0/tests/wrappers/fixtures/artifactory002.xml new/jenkins-job-builder-3.0.0/tests/wrappers/fixtures/artifactory002.xml
--- old/jenkins-job-builder-2.10.0/tests/wrappers/fixtures/artifactory002.xml 2019-04-10 03:26:38.000000000 +0200
+++ new/jenkins-job-builder-3.0.0/tests/wrappers/fixtures/artifactory002.xml 2019-07-25 18:33:39.000000000 +0200
@@ -8,6 +8,7 @@
<repositoryKey>release-repo</repositoryKey>
<snapshotsRepositoryKey>snapshot-repo</snapshotsRepositoryKey>
</details>
+ <useSpecs>false</useSpecs>
<deployPattern>*.zip=>results</deployPattern>
<resolvePattern>libs-release-local:prod/*=>prod-jars</resolvePattern>
<matrixParams>custom_prop=${PROJECT_ENV_VAR}</matrixParams>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jenkins-job-builder-2.10.0/tests/wrappers/fixtures/artifactory004.xml new/jenkins-job-builder-3.0.0/tests/wrappers/fixtures/artifactory004.xml
--- old/jenkins-job-builder-2.10.0/tests/wrappers/fixtures/artifactory004.xml 2019-04-10 03:26:38.000000000 +0200
+++ new/jenkins-job-builder-3.0.0/tests/wrappers/fixtures/artifactory004.xml 2019-07-25 18:33:39.000000000 +0200
@@ -11,6 +11,7 @@
<dynamicMode/>
</deployReleaseRepository>
</details>
+ <useSpecs>false</useSpecs>
<deployPattern>*.zip=>results</deployPattern>
<resolvePattern>libs-release-local:prod/*=>prod-jars</resolvePattern>
<matrixParams>custom_prop=${PROJECT_ENV_VAR}</matrixParams>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jenkins-job-builder-2.10.0/tests/wrappers/fixtures/artifactory005.xml new/jenkins-job-builder-3.0.0/tests/wrappers/fixtures/artifactory005.xml
--- old/jenkins-job-builder-2.10.0/tests/wrappers/fixtures/artifactory005.xml 1970-01-01 01:00:00.000000000 +0100
+++ new/jenkins-job-builder-3.0.0/tests/wrappers/fixtures/artifactory005.xml 2019-07-25 18:33:39.000000000 +0200
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="utf-8"?>
+<project>
+ <buildWrappers>
+
+ <details>
+ <artifactoryName>test</artifactoryName>
+ <artifactoryUrl>http://artifactory.example.net/artifactory</artifactoryUrl>
+ <deployReleaseRepository>
+ <keyFromText/>
+ <keyFromSelect/>
+ <dynamicMode/>
+ </deployReleaseRepository>
+ </details>
+ <uploadSpec>
+ <spec>{ "files": [ { "pattern": "*.jar", "target": "release" } ] }</spec>
+ </uploadSpec>
+ <downloadSpec>
+ <spec>{ "files": [ { "pattern": "*.jar", "target": "release" } ] }</spec>
+ </downloadSpec>
+ <useSpecs>true</useSpecs>
+ <deployPattern/>
+ <resolvePattern/>
+ <matrixParams/>
+ <deployBuildInfo>true</deployBuildInfo>
+ <includeEnvVars>false</includeEnvVars>
+ <discardOldBuilds>false</discardOldBuilds>
+ <discardBuildArtifacts>true</discardBuildArtifacts>
+ <envVarsPatterns>
+ <includePatterns/>
+ <excludePatterns/>
+ </envVarsPatterns>
+
+ </buildWrappers>
+</project>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jenkins-job-builder-2.10.0/tests/wrappers/fixtures/artifactory005.yaml new/jenkins-job-builder-3.0.0/tests/wrappers/fixtures/artifactory005.yaml
--- old/jenkins-job-builder-2.10.0/tests/wrappers/fixtures/artifactory005.yaml 1970-01-01 01:00:00.000000000 +0100
+++ new/jenkins-job-builder-3.0.0/tests/wrappers/fixtures/artifactory005.yaml 2019-07-25 18:33:39.000000000 +0200
@@ -0,0 +1,7 @@
+wrappers:
+ - artifactory-generic:
+ url: http://artifactory.example.net/artifactory
+ name: 'test'
+ deploy-build-info: true
+ upload-spec: '{ "files": [ { "pattern": "*.jar", "target": "release" } ] }'
+ download-spec: '{ "files": [ { "pattern": "*.jar", "target": "release" } ] }'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jenkins-job-builder-2.10.0/tests/wrappers/fixtures/artifactory006.xml new/jenkins-job-builder-3.0.0/tests/wrappers/fixtures/artifactory006.xml
--- old/jenkins-job-builder-2.10.0/tests/wrappers/fixtures/artifactory006.xml 1970-01-01 01:00:00.000000000 +0100
+++ new/jenkins-job-builder-3.0.0/tests/wrappers/fixtures/artifactory006.xml 2019-07-25 18:33:39.000000000 +0200
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="utf-8"?>
+<project>
+ <buildWrappers>
+
+ <details>
+ <artifactoryName>test</artifactoryName>
+ <artifactoryUrl>http://artifactory.example.net/artifactory</artifactoryUrl>
+ <deployReleaseRepository>
+ <keyFromText/>
+ <keyFromSelect/>
+ <dynamicMode/>
+ </deployReleaseRepository>
+ </details>
+ <uploadSpec>
+ <filePath>path/to/upload-file</filePath>
+ </uploadSpec>
+ <downloadSpec>
+ <filePath>path/to/download-file</filePath>
+ </downloadSpec>
+ <useSpecs>true</useSpecs>
+ <deployPattern/>
+ <resolvePattern/>
+ <matrixParams/>
+ <deployBuildInfo>true</deployBuildInfo>
+ <includeEnvVars>false</includeEnvVars>
+ <discardOldBuilds>false</discardOldBuilds>
+ <discardBuildArtifacts>true</discardBuildArtifacts>
+ <envVarsPatterns>
+ <includePatterns/>
+ <excludePatterns/>
+ </envVarsPatterns>
+
+ </buildWrappers>
+</project>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jenkins-job-builder-2.10.0/tests/wrappers/fixtures/artifactory006.yaml new/jenkins-job-builder-3.0.0/tests/wrappers/fixtures/artifactory006.yaml
--- old/jenkins-job-builder-2.10.0/tests/wrappers/fixtures/artifactory006.yaml 1970-01-01 01:00:00.000000000 +0100
+++ new/jenkins-job-builder-3.0.0/tests/wrappers/fixtures/artifactory006.yaml 2019-07-25 18:33:39.000000000 +0200
@@ -0,0 +1,7 @@
+wrappers:
+ - artifactory-generic:
+ url: http://artifactory.example.net/artifactory
+ name: 'test'
+ deploy-build-info: true
+ upload-spec-file: "path/to/upload-file"
+ download-spec-file: "path/to/download-file"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jenkins-job-builder-2.10.0/tests/yamlparser/fixtures/jinja-as-yaml-include01.xml new/jenkins-job-builder-3.0.0/tests/yamlparser/fixtures/jinja-as-yaml-include01.xml
--- old/jenkins-job-builder-2.10.0/tests/yamlparser/fixtures/jinja-as-yaml-include01.xml 1970-01-01 01:00:00.000000000 +0100
+++ new/jenkins-job-builder-3.0.0/tests/yamlparser/fixtures/jinja-as-yaml-include01.xml 2019-07-25 18:33:39.000000000 +0200
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="utf-8"?>
+<project>
+ <actions/>
+ <description><!-- Managed by Jenkins Job Builder --></description>
+ <keepDependencies>false</keepDependencies>
+ <blockBuildWhenDownstreamBuilding>false</blockBuildWhenDownstreamBuilding>
+ <blockBuildWhenUpstreamBuilding>false</blockBuildWhenUpstreamBuilding>
+ <concurrentBuild>false</concurrentBuild>
+ <canRoam>true</canRoam>
+ <properties>
+
+ <parameterDefinitions>
+
+ <name>TEST_CHOICE</name>
+ <description/>
+ <choices class="java.util.Arrays$ArrayList">
+ <a class="string-array">
+ <string>a</string>
+ <string>b</string>
+ <string>c</string>
+ </a>
+ </choices>
+
+ </parameterDefinitions>
+
+ </properties>
+ <scm class="hudson.scm.NullSCM"/>
+ <builders/>
+ <publishers/>
+ <buildWrappers/>
+</project>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jenkins-job-builder-2.10.0/tests/yamlparser/fixtures/jinja-as-yaml-include01.yaml new/jenkins-job-builder-3.0.0/tests/yamlparser/fixtures/jinja-as-yaml-include01.yaml
--- old/jenkins-job-builder-2.10.0/tests/yamlparser/fixtures/jinja-as-yaml-include01.yaml 1970-01-01 01:00:00.000000000 +0100
+++ new/jenkins-job-builder-3.0.0/tests/yamlparser/fixtures/jinja-as-yaml-include01.yaml 2019-07-25 18:33:39.000000000 +0200
@@ -0,0 +1,7 @@
+- job:
+ name: test-job-as-yaml
+ parameters:
+ - choice:
+ name: TEST_CHOICE
+ choices:
+ !include-jinja2-as-yaml: jinja-as-yaml-include01.yaml.inc
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jenkins-job-builder-2.10.0/tests/yamlparser/fixtures/jinja-as-yaml-include01.yaml.inc new/jenkins-job-builder-3.0.0/tests/yamlparser/fixtures/jinja-as-yaml-include01.yaml.inc
--- old/jenkins-job-builder-2.10.0/tests/yamlparser/fixtures/jinja-as-yaml-include01.yaml.inc 1970-01-01 01:00:00.000000000 +0100
+++ new/jenkins-job-builder-3.0.0/tests/yamlparser/fixtures/jinja-as-yaml-include01.yaml.inc 2019-07-25 18:33:39.000000000 +0200
@@ -0,0 +1,3 @@
+{% for item in ['a', 'b', 'c'] %}
+- {{ item }}
+{% endfor -%}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jenkins-job-builder-2.10.0/tox.ini new/jenkins-job-builder-3.0.0/tox.ini
--- old/jenkins-job-builder-2.10.0/tox.ini 2019-04-10 03:26:39.000000000 +0200
+++ new/jenkins-job-builder-3.0.0/tox.ini 2019-07-25 18:33:39.000000000 +0200
@@ -49,13 +49,15 @@
[testenv:linters]
basepython = python3
+deps =
+ pre-commit>=1.12.0
commands =
- {[tox]install_test_deps}
python -m pre_commit run --all
# points to linters, kept only for developer convenience
[testenv:pep8]
envdir={toxworkdir}/linters
+deps={[testenv:linters]deps}
commands = {[testenv:linters]commands}
[testenv:pyflakes]