Quay.io Swagger not right for pull_robot field
See original GitHub issueDescribe the bug Swagger defines pull_robot field as a string; in at least one case, it’s an object.
This causes refreshing Quay tools that have pull_robot set to a non-null value to fail.
To Reproduce
curl -H "accept: application/json" https://quay.io/api/v1/repository/ucsc_cgl%2Fkallisto/build/?limit=1 > jq '.'
Notice pull_robot portion of response:
...
"pull_robot": {
"kind": "user",
"name": "ucsc_cgl+robot",
"is_robot": true
},
...
But it is defined here as a string. When Swagger tries to deserialize the response, it gets an error:
ERROR [2020-06-09 00:55:16,153] io.dropwizard.jersey.errors.LoggingExceptionMapper: Error handling a request: f60cd43fa97ff34b
! com.fasterxml.jackson.databind.exc.MismatchedInputException: Cannot deserialize instance of `java.lang.String` out of START_OBJECT token
! at [Source: (org.glassfish.jersey.message.internal.ReaderInterceptorExecutor$UnCloseableInputStream); line: 1, column: 249] (through reference chain: io.swagger.quay.client.model.InlineResponse2001["builds"]->java.util.ArrayList[0]->io.swagger.quay.client.model.QuayBuild["pull_robot"])
! at com.fasterxml.jackson.databind.exc.MismatchedInputException.from(MismatchedInputException.java:59)
Expected behavior Should deserialize correctly.
Additional context
- Webservice version: develop branch
I believe this hasn’t come up before because most other responses I see have the value set to null
.
┆Issue is synchronized with this Jira Story ┆Fix Versions: Dockstore 1.9 ┆Issue Number: DOCK-1401 ┆Sprint: Sprint 40 Octopus ┆Issue Type: Story
Issue Analytics
- State:
- Created 3 years ago
- Comments:6 (5 by maintainers)
Top GitHub Comments
Getting an error when refreshing that tool in dev. See this in logs:
Wa able to refresh the tool mentioned in the ticket on develop API - 1.10.0-alpha.0-SNAPSHOT UI - 2.6.1-26-gb76540bb