14:24

先日、誤ってバージョンを更新したため元に戻したJenkinsでジョブの設定を変更するとエラーが出る現象が発生。 ログを見ると、次のようなエラーが発生していた。

Caused by: java.lang.NoClassDefFoundError: jenkins/triggers/SCMTriggerItem$SCMTriggerItems
    at jenkins.scm.impl.SCM2Notifier.onChange(SCM2Notifier.java:54)
    at hudson.model.listeners.SaveableListener.fireOnChange(SaveableListener.java:78)
    at hudson.model.AbstractItem.save(AbstractItem.java:456)
    at hudson.model.Job.save(Job.java:162)
    at hudson.model.AbstractProject.save(AbstractProject.java:283)
    at hudson.model.AbstractItem.setDisplayName(AbstractItem.java:156)
    at hudson.model.Job.doConfigSubmit(Job.java:1121)
    at hudson.model.AbstractProject.doConfigSubmit(AbstractProject.java:787)
    ... 73 more

javaなぞ触ったことがないので焦ったが、ログから「SCMTriggerItem」クラスがないのだろうと判断。Googleで検索してみると、ドキュメントには1.568からサポートと記載されている。 現行バージョンは1.537なのでクラスはないはず。なのに呼び出されているということなので、プラグインかなと思い、インストール済みプラグインを調べてみた。すると、「SCM API Plugin」というプラグインを発見。他に解決する手がかりもないので、このプラグインを試しに無効にしてみた。再起動後、ジョブの設定を変更するとエラーが出なくなった。