pull request https://github.com/jenkinsci/fitnesse-plugin/pull/3 introduced a way to select the JDK used for starting a fitnesse instance: "The plugin provides a dropdown of Jenkins installed JDKs, unless only one is installed, in which case the default is used."
The default JDK selection strategy does not work. On installations with less than two JDKs configured, after upgrading to fitnesse 1.8
- running an existing job fails with a NPE, see attachment
- saving a new job or updating an existing job fails with net.sf.json.JSONException: JSONObject["fitnesseJdk"] not found, see attachment
Steps to reproduce:
1. add Fitnesse-Plugin 1.8 to a fresh Jenkins installation
2. create a free stye job
3. Add an "Execute fitnesse tests" build step with the option
"Start new Fitnesse instance as part of build".
Fill all required fields. You can use dummy data.
4. save configuration => net.sf.json.JSONException: JSONObject["fitnesseJdk"] not found.
5. define a JDK in Jenkins global configuration
6. repeat steps 3.-4. The same exception will be thrown
7. define a second JDK in Jenkins global configuration
8. repeat steps 3.-4. The job will be saved as expected.