The problem is this change:
https://github.com/jenkinsci/htmlpublisher-plugin/commit/489e3ae33bbef585834c4954946dfc595e176f82#diff-5c20523e234f56a518b09e853700ff17R65
The Jenkins XML serializer picks up all non-transient fields. Before 1.5 there was a wrapperName field, so it has been serialized to XML. When updating to 1.5 or later, Jenkins tries to deserialize this field, but it's gone, so users get a MissingFieldException.
See https://wiki.jenkins-ci.org/display/JENKINS/Hint+on+retaining+backward+compatibility for details about keeping compatibility. The "Scenario: Remove a field" section suggests to never remove a field, but to mark it as transient. As a fix, the wrapperName field should be added and marked as transient and deprecated. I will send a pull request.
Code changed in jenkins
User: Daniel Spilker
Path:
docs/Home.md
docs/Migration.md
job-dsl-core/src/main/groovy/javaposse/jobdsl/dsl/helpers/publisher/PublisherContext.groovy
job-dsl-core/src/test/groovy/javaposse/jobdsl/dsl/helpers/publisher/PublisherContextSpec.groovy
http://jenkins-ci.org/commit/job-dsl-plugin/1f6e144f5656db501aaf9a9bb637c8f2c1220f4f
Log:
added workaround for
JENKINS-31366, deprecated support for older versions of HTML Publisher plugin