jenkinsci / jenkinsci/java-client-api

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

Offen
#355 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Vorherrschende Sprache
Java
Sterne
913
Forks
466
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

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.

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

Inspect BuildWithDetails and its changeSet field, along with BuildChangeSet, then reproduce build.details() against Jenkins 1.652 and compare the returned JSON with the object form from Jenkins 2.127 or 2.121.2. Done means the client handles both the empty-array and object representations without throwing MismatchedInputException.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
java
Bereich
api
Issue-Typ
Bug
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.