Skip to content
This repository was archived by the owner on Oct 2, 2025. It is now read-only.

Commit a76640f

Browse files
fix(docker): resolve the issue of Failed to parse ResponseBody : Unrecognized field "child" when google cloud artifact registry responds with additional fields upon invoking tags list api
1 parent 06c98c0 commit a76640f

File tree

1 file changed

+11
-2
lines changed

1 file changed

+11
-2
lines changed

clouddriver-docker/src/main/groovy/com/netflix/spinnaker/clouddriver/docker/registry/api/v2/client/DockerRegistryClient.groovy

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616

1717
package com.netflix.spinnaker.clouddriver.docker.registry.api.v2.client
1818

19+
import com.fasterxml.jackson.databind.DeserializationFeature
1920
import com.fasterxml.jackson.databind.ObjectMapper
2021
import com.google.gson.Gson
2122
import com.netflix.spinnaker.clouddriver.docker.registry.api.v2.DockerUserAgent
@@ -163,6 +164,15 @@ class DockerRegistryClient {
163164

164165
final static String userAgent = DockerUserAgent.getUserAgent()
165166
final int paginateSize
167+
static ObjectMapper objectMapper
168+
169+
private static ObjectMapper getObjectMapper() {
170+
if (objectMapper == null) {
171+
objectMapper = new ObjectMapper()
172+
objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false)
173+
}
174+
return objectMapper
175+
}
166176

167177
String getBasicAuth() {
168178
return tokenService?.basicAuth
@@ -317,9 +327,8 @@ class DockerRegistryClient {
317327
throw new DockerRegistryOperationException("ResponseBody cannot be null")
318328
}
319329
try {
320-
def objectMapper = new ObjectMapper()
321330
def jsonString = responseBody.string()
322-
return objectMapper.readValue(jsonString, aClass)
331+
return getObjectMapper().readValue(jsonString, aClass)
323332
} catch (Exception e) {
324333
throw new DockerRegistryOperationException("Failed to parse ResponseBody : ${e.message}", e)
325334
}

0 commit comments

Comments
 (0)