My Jenkins implementation uses 'publish-over-ssh' plugin to do various simple tasks on hosts that are deployment targets, such as stop/start the app server, clean out log files etc. The configurations for that plugin were merely sets of UNIX commands such as :
My Jenkins worked fine until I was to upgrade from v2.100 to v2.101. When I upgraded to 2.101, I encountered that the upgrade broke a lot of jobs, in that when I would go to the job config, I would get error messages (can't remember which type of jobs). I reverted to 2.100 and they all worked again. So, for a couple of months, I was scared to upgrade Jenkins because I thought your software upgrades were breaking my implementation, basically by not being reverse compatible and no longer supporting configurations created under previous versions (how else to describe my situation?).
I finally decided to bite the bullet and upgrade from 2.100 to 2.129 hoping you fixed the previous incompatibility. However, I turned out that all the jobs that were utilizing the publish-over-ssh plugin lost their remote command scripts under "Exec command" field and that the SSH Server name defaults to the first SSH server I have defined in my Jenkins configuration, of which there are more than 50. So essentially, I upgraded to 2.129 and a significant portion of the jobs lost their configuration.
Not only did the configuration disappear in the front end but I dug into the JENKINS_HOME directory substructure where the job configs are in XML files (config.xml) and it appears that the upgrade wiped out the SSH commands there as well as though they never had existed. I can luckily find them under logs but not in the same format as they were in the job (so there is some hope of recovery). It looks like the upgrade changed config.xml to remove any trace of the SSH commands and did not back up the old version that does have the commands, at least I can't find any version history.
When I went in the problem jobs to re-enter the lost config, upon saving I got the attached error message, which looks like Java stack trace. That problem went away once I upgraded the SSH publish plugin from 1.17 to 1.19 but the configs were still gone.
This was a sizable disaster for us and a huge disappointment in Jenkins. I urge you to fix this issue ASAP.