can even help tidy up your project configuration files if you wish (see Figure 13.16, “Managing out-
of-date build jobs data”).
Figure 13.16. Managing out-of-date build jobs data
This screen gives you more details about the project containing the dodgy data, as well as the exact error
message. This gives you several options. If you are sure that you no longer need the plugin that originally
created the data, you can safely remove the redundant fields by clicking on the Discard Unreadable
Data button. Alternatively, you may decide that the fields belong to a useful plugin that hasn’t yet been
installed on the new Jenkins instance. In this case, install the plugin and all should be well. Finally, you
can always choose to leave the redundant data and live with the error message, at least until you are sure
that you won’t need to migrate the job back to the old server some day.
However, Jenkins doesn’t always detect all of the errors or inconsistencies—it still pays to keep one
eye on the system logs when you migrate your build jobs. For example, the following is a real example
from a Jenkins log file showing what can happen during the migration process:
Mar 16, 2010 2:05:06 PM hudson.util.CopyOnWriteList$ConverterImpl unmarshal
WARNING: Failed to resolve class
com.thoughtworks.xstream.mapper.CannotResolveClassException: hudson.plugins.ciga
me.GamePublisher : hudson.plugins.cigame.GamePublisher
at com.thoughtworks.xstream.mapper.DefaultMapper.realClass(DefaultMapper
.java:68)
at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper
.java:38)
at com.thoughtworks.xstream.mapper.DynamicProxyMapper.realClass(DynamicP
roxyMapper.java:71)
at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper
.java:38)
The error is essentially telling us that it can’t find a class called
hudson.plugins.cigame.GamePublisher. In fact, the target installation is missing the CI Game
plugin. And in this case (as sometimes happens), no warning messages where appearing on the Manage
Jenkins page, so Jenkins was unable to correct the configuration files itself.