Latest version of the postbuildscript Jenkins plugin is incompatible with our job definitions
This happens when using the latest version of the postbuildscript
Jenkins plugin (currently 3.1.0-375.v3db_cd92485e1):
zen@jenkins ~> cd /tmp/
zen@jenkins /tmp> sudo -u jenkins git clone gitolite@puppet-git.lizard:jenkins-jobs.git
Cloning into 'jenkins-jobs'...
remote: Enumerating objects: 20255, done.
remote: Counting objects: 100% (20255/20255), done.
remote: Compressing objects: 100% (10482/10482), done.
remote: Total 20255 (delta 13299), reused 14238 (delta 9771), pack-reused 0
Receiving objects: 100% (20255/20255), 2.97 MiB | 4.57 MiB/s, done.
Resolving deltas: 100% (13299/13299), done.
zen@jenkins /tmp> sudo -u jenkins /usr/local/sbin/deploy_jenkins_jobs test ./jenkins-jobs/
Testing your jobs:
WARNING:jenkins_jobs.cli.subcommand.test:(Deprecated) The default output behavior of `jenkins-jobs test` when given the --output flag will change in JJB 3.0. Instead of writing jobs to OUTPUT/jobname; they will be written to OUTPUT/jobname/config.xml. The new behavior can be enabled by the passing `--config-xml` parameter.
INFO:jenkins_jobs.cli.subcommand.update:Updating jobs in ['/tmp/jenkins-jobs', '/tmp/jenkins-jobs/Tails_ISOS', '/tmp/jenkins-jobs/macros'] ([])
INFO:root:Caching type properties of properties = jenkins_jobs.modules.properties:Properties
INFO:root:Caching type scm of scm = jenkins_jobs.modules.scm:SCM
INFO:root:Caching type triggers of triggers = jenkins_jobs.modules.triggers:Triggers
INFO:root:Caching type builders of builders = jenkins_jobs.modules.builders:Builders
INFO:root:Caching type publishers of publishers = jenkins_jobs.modules.publishers:Publishers
INFO:root:Caching type wrappers of wrappers = jenkins_jobs.modules.wrappers:Wrappers
INFO:root:Caching type parameters of parameters = jenkins_jobs.modules.parameters:Parameters
Traceback (most recent call last):
File "/usr/bin/jenkins-jobs", line 10, in <module>
sys.exit(main())
File "/usr/lib/python3/dist-packages/jenkins_jobs/cli/entry.py", line 174, in main
jjb.execute()
File "/usr/lib/python3/dist-packages/jenkins_jobs/cli/entry.py", line 154, in execute
ext.obj.execute(self.options, self.jjb_config)
File "/usr/lib/python3/dist-packages/jenkins_jobs/cli/subcommand/test.py", line 64, in execute
builder, xml_jobs, xml_views = self._generate_xmljobs(options, jjb_config)
File "/usr/lib/python3/dist-packages/jenkins_jobs/cli/subcommand/update.py", line 119, in _generate_xmljobs
xml_jobs = xml_job_generator.generateXML(job_data_list)
File "/usr/lib/python3/dist-packages/jenkins_jobs/xml_config.py", line 79, in generateXML
xml_objs.append(self._getXMLForData(data))
File "/usr/lib/python3/dist-packages/jenkins_jobs/xml_config.py", line 92, in _getXMLForData
self._gen_xml(xml, data)
File "/usr/lib/python3/dist-packages/jenkins_jobs/xml_config.py", line 109, in _gen_xml
module.gen_xml(xml, data)
File "/usr/lib/python3/dist-packages/jenkins_jobs/modules/publishers.py", line 8343, in gen_xml
self.registry.dispatch("publisher", publishers, action)
File "/usr/lib/python3/dist-packages/jenkins_jobs/registry.py", line 309, in dispatch
func(self, xml_parent, component_data, **kwargs)
File "/usr/lib/python3/dist-packages/jenkins_jobs/modules/publishers.py", line 4642, in postbuildscript
registry.dispatch("builder", build_steps_xml, builder)
File "/usr/lib/python3/dist-packages/jenkins_jobs/registry.py", line 311, in dispatch
raise JenkinsJobsException(
jenkins_jobs.errors.JenkinsJobsException: Unknown entry point or macro 'role' for component type: 'builder'.
FAIL, rejecting your push. Please fix before pushing again.
zen@jenkins /tmp> jenkins-jobs --version
Jenkins Job Builder version: 3.11.0
zen@jenkins /tmp> apt policy jenkins-job-builder
jenkins-job-builder:
Installed: 3.11.0-2
Candidate: 3.11.0-2
Version table:
*** 3.11.0-2 991
2 http://ftp.us.debian.org/debian bookworm/main amd64 Packages
2 http://ftp.us.debian.org/debian sid/main amd64 Packages
100 /var/lib/dpkg/status
3.8.0-1 990
990 http://ftp.us.debian.org/debian bullseye/main amd64 Packages
I have tried using using the jenkins-job-builder
version from Bookworm (see above), currently installed in the jenkins.lizard
VM.
Downgrading postbuildscript
to version 3.0.0 solves the issue.
Edited by Zen Fu