Issue
Controllers using the SnakeYAML API plugin >= 2.0
and the Pipeline Utility Steps plugin <= 2.15.3
are hitting an incompatibility error running jobs or starting up controllers with the following stack trace:
java.lang.NoSuchMethodError: org.yaml.snakeyaml.constructor.SafeConstructor: method 'void <init>()' not found at org.jenkinsci.plugins.pipeline.utility.steps.conf.ReadYamlStep$Execution.newYaml(ReadYamlStep.java:238) at org.jenkinsci.plugins.pipeline.utility.steps.conf.ReadYamlStep$Execution.doRun(ReadYamlStep.java:201) at org.jenkinsci.plugins.pipeline.utility.steps.AbstractFileOrTextStepExecution.run(AbstractFileOrTextStepExecution.java:29) at org.jenkinsci.plugins.workflow.steps.SynchronousNonBlockingStepExecution.lambda$start$0(SynchronousNonBlockingStepExecution.java:47) at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at java.base/java.lang.Thread.run(Thread.java:829)
Resolution
Update the Pipeline Utility Steps plugin to version 2.15.4
or greater.
Tested product/plugin versions
-
CloudBees CI on modern platforms - managed controller 2.426.3.3
-
CloudBees CI on traditional platforms - client controller 2.426.1.2
-
SnakeYAML API Plugin 2.2-111.vc6598e30cc65
-
Pipeline Utility Steps 2.15.0
This article is part of our Knowledge Base and is provided for guidance-based purposes only. The solutions or workarounds described here are not officially supported by CloudBees and may not be applicable in all environments. Use at your own discretion, and test changes in a safe environment before applying them to production systems.