-
Bug
-
Resolution: Unresolved
-
Minor
-
Jenkins 2.361.3
all plugins updated to latest as of February 20th
I use JobDSL with seeders to create jobs. Jobs are created correctly and no issues are presented in the logs. When I attempt to modify the jobs manually, I first get an Error with a logging hash. Eventually a second attempt succeeds but the Jenkins logs show the following error:
Error while serving https://JENKINS_URL/job/FOLDER_JOB/job/JOB_NAME/configSubmit java.lang.IllegalArgumentException: The frontend sent an unexpected list of classes (["pl.damianszczepanik.jenkins.buildhistorymanager.BuildHistoryManager","hudson.tasks.LogRotator"]) rather than an expected single class. See https://www.jenkins.io/doc/developer/views/table-to-div-migration/ for more information. at org.kohsuke.stapler.RequestImpl$TypePair.convertJSON(RequestImpl.java:723) Caused: java.lang.IllegalArgumentException: Failed to instantiate class jenkins.model.BuildDiscarder from {"stapler-class":["pl.damianszczepanik.jenkins.buildhistorymanager.BuildHistoryManager","hudson.tasks.LogRotator"],"$class":["pl.damianszczepanik.jenkins.buildhistorymanager.BuildHistoryManager","hudson.tasks.LogRotator"],"daysToKeepStr":"","numToKeepStr":"10","artifactDaysToKeepStr":"","artifactNumToKeepStr":""}
Once the error shows up, the Discard Old Builds is no longer checked and if I were to check it and choose Log Rotator, I won’t see the days/builds fields.
A Jenkins restart will bring back the log rotator options for daysToKeep and buildsToKeep.
This behavior occurs in an updated Jenkins environment. Production does not experience this behavior.
That message is usually reported when a Jenkins plugin uses HTML table tags for its form layout instead of using div tags for form layout. The discard old build plugin uses a table tag in its form layout.