jenkinsci / java-client-api

A Jenkins API client for Java
MIT License
901 stars 470 forks source link

Bug: build.details() throws MismatchedInputException: Cannot deserialize instance of `com.offbytwo.jenkins.model.BuildChangeSet` out of START_ARRAY token #355

Open mivola opened 6 years ago

mivola commented 6 years ago

I'm using jenkins-client 0.3.8 and build.details() fails for the Jenkins server v1.652. The reason is: the JSON that is returned contains: "changeSet": [] but the BuildWithDetails class expects not an array/list but an object: private BuildChangeSet changeSet;

I tested build.details() successfully with Jenkins server 2.127 & 2.121.2. The reason is that the JSON looks different (i.e. it contains an object as expected in BuildWithDetails class):

"changeSet": {
    "_class": "hudson.scm.EmptyChangeLogSet",
    "items": [],
    "kind": null
  }

I know there are similar issues (#177, #143, #141, #138) but they are all closed although the problem seems to be still around ... IMHO there needs to be a different handling of the serialization depending on the server version.