Spec errors
macmoritz opened this issue · comments
Describe the bug
I am trying to create a python client for the sentry api by using this generator.
Not sure if this issue belongs here or to sentry (cause of they created the schema).
Other generators work fine with this schema. See below.
OpenAPI Spec File
https://github.com/getsentry/sentry-api-schema/blob/main/openapi-derefed.json
Desktop (please complete the following information):
- OS: Linux 6.6.8
- Python Version: 3.11.6
- openapi-python-client Version: 0.17.0
Additional context
Log
ERROR:root:52 validation errors for OpenAPI
paths./api/0/projects/{organization_slug}/{project_slug}/symbol-sources/.get.responses.200.Response.content.application/json.schema.Reference.$ref
Field required [type=missing, input_value={'type': 'array', 'items'...alProperties': False}]}}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.5/v/missing
paths./api/0/projects/{organization_slug}/{project_slug}/symbol-sources/.get.responses.200.Response.content.application/json.schema.function-after[handle_nullable(), Schema].items.Reference.$ref
Field required [type=missing, input_value={'oneOf': [{'type': 'obje...nalProperties': False}]}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.5/v/missing
paths./api/0/projects/{organization_slug}/{project_slug}/symbol-sources/.get.responses.200.Response.content.application/json.schema.function-after[handle_nullable(), Schema].items.function-after[handle_nullable(), Schema].oneOf.0.Reference.$ref
Field required [type=missing, input_value={'type': 'object', 'prope...ionalProperties': False}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.5/v/missing
paths./api/0/projects/{organization_slug}/{project_slug}/symbol-sources/.get.responses.200.Response.content.application/json.schema.function-after[handle_nullable(), Schema].items.function-after[handle_nullable(), Schema].oneOf.0.function-after[handle_nullable(), Schema].properties.password.Reference.$ref
Field required [type=missing, input_value={'type': 'object', 'prope...lean', 'enum': [True]}}}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.5/v/missing
paths./api/0/projects/{organization_slug}/{project_slug}/symbol-sources/.get.responses.200.Response.content.application/json.schema.function-after[handle_nullable(), Schema].items.function-after[handle_nullable(), Schema].oneOf.0.function-after[handle_nullable(), Schema].properties.password.function-after[handle_nullable(), Schema].properties.hidden-secret.Reference.$ref
Field required [type=missing, input_value={'type': 'boolean', 'enum': [True]}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.5/v/missing
paths./api/0/projects/{organization_slug}/{project_slug}/symbol-sources/.get.responses.200.Response.content.application/json.schema.function-after[handle_nullable(), Schema].items.function-after[handle_nullable(), Schema].oneOf.0.function-after[handle_nullable(), Schema].properties.password.function-after[handle_nullable(), Schema].properties.hidden-secret.function-after[handle_nullable(), Schema].enum.list[nullable[int]].0
Input should be a valid integer [type=int_type, input_value=True, input_type=bool]
For further information visit https://errors.pydantic.dev/2.5/v/int_type
paths./api/0/projects/{organization_slug}/{project_slug}/symbol-sources/.get.responses.200.Response.content.application/json.schema.function-after[handle_nullable(), Schema].items.function-after[handle_nullable(), Schema].oneOf.0.function-after[handle_nullable(), Schema].properties.password.function-after[handle_nullable(), Schema].properties.hidden-secret.function-after[handle_nullable(), Schema].enum.list[nullable[str]].0
Input should be a valid string [type=string_type, input_value=True, input_type=bool]
For further information visit https://errors.pydantic.dev/2.5/v/string_type
paths./api/0/projects/{organization_slug}/{project_slug}/symbol-sources/.get.responses.200.Response.content.application/json.schema.function-after[handle_nullable(), Schema].items.function-after[handle_nullable(), Schema].oneOf.1.Reference.$ref
Field required [type=missing, input_value={'type': 'object', 'prope...ionalProperties': False}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.5/v/missing
paths./api/0/projects/{organization_slug}/{project_slug}/symbol-sources/.get.responses.200.Response.content.application/json.schema.function-after[handle_nullable(), Schema].items.function-after[handle_nullable(), Schema].oneOf.1.function-after[handle_nullable(), Schema].properties.secret_key.Reference.$ref
Field required [type=missing, input_value={'type': 'object', 'prope...lean', 'enum': [True]}}}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.5/v/missing
paths./api/0/projects/{organization_slug}/{project_slug}/symbol-sources/.get.responses.200.Response.content.application/json.schema.function-after[handle_nullable(), Schema].items.function-after[handle_nullable(), Schema].oneOf.1.function-after[handle_nullable(), Schema].properties.secret_key.function-after[handle_nullable(), Schema].properties.hidden-secret.Reference.$ref
Field required [type=missing, input_value={'type': 'boolean', 'enum': [True]}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.5/v/missing
paths./api/0/projects/{organization_slug}/{project_slug}/symbol-sources/.get.responses.200.Response.content.application/json.schema.function-after[handle_nullable(), Schema].items.function-after[handle_nullable(), Schema].oneOf.1.function-after[handle_nullable(), Schema].properties.secret_key.function-after[handle_nullable(), Schema].properties.hidden-secret.function-after[handle_nullable(), Schema].enum.list[nullable[int]].0
Input should be a valid integer [type=int_type, input_value=True, input_type=bool]
For further information visit https://errors.pydantic.dev/2.5/v/int_type
paths./api/0/projects/{organization_slug}/{project_slug}/symbol-sources/.get.responses.200.Response.content.application/json.schema.function-after[handle_nullable(), Schema].items.function-after[handle_nullable(), Schema].oneOf.1.function-after[handle_nullable(), Schema].properties.secret_key.function-after[handle_nullable(), Schema].properties.hidden-secret.function-after[handle_nullable(), Schema].enum.list[nullable[str]].0
Input should be a valid string [type=string_type, input_value=True, input_type=bool]
For further information visit https://errors.pydantic.dev/2.5/v/string_type
paths./api/0/projects/{organization_slug}/{project_slug}/symbol-sources/.get.responses.200.Response.content.application/json.schema.function-after[handle_nullable(), Schema].items.function-after[handle_nullable(), Schema].oneOf.2.Reference.$ref
Field required [type=missing, input_value={'type': 'object', 'prope...ionalProperties': False}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.5/v/missing
paths./api/0/projects/{organization_slug}/{project_slug}/symbol-sources/.get.responses.200.Response.content.application/json.schema.function-after[handle_nullable(), Schema].items.function-after[handle_nullable(), Schema].oneOf.2.function-after[handle_nullable(), Schema].properties.private_key.Reference.$ref
Field required [type=missing, input_value={'type': 'object', 'prope...lean', 'enum': [True]}}}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.5/v/missing
paths./api/0/projects/{organization_slug}/{project_slug}/symbol-sources/.get.responses.200.Response.content.application/json.schema.function-after[handle_nullable(), Schema].items.function-after[handle_nullable(), Schema].oneOf.2.function-after[handle_nullable(), Schema].properties.private_key.function-after[handle_nullable(), Schema].properties.hidden-secret.Reference.$ref
Field required [type=missing, input_value={'type': 'boolean', 'enum': [True]}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.5/v/missing
paths./api/0/projects/{organization_slug}/{project_slug}/symbol-sources/.get.responses.200.Response.content.application/json.schema.function-after[handle_nullable(), Schema].items.function-after[handle_nullable(), Schema].oneOf.2.function-after[handle_nullable(), Schema].properties.private_key.function-after[handle_nullable(), Schema].properties.hidden-secret.function-after[handle_nullable(), Schema].enum.list[nullable[int]].0
Input should be a valid integer [type=int_type, input_value=True, input_type=bool]
For further information visit https://errors.pydantic.dev/2.5/v/int_type
paths./api/0/projects/{organization_slug}/{project_slug}/symbol-sources/.get.responses.200.Response.content.application/json.schema.function-after[handle_nullable(), Schema].items.function-after[handle_nullable(), Schema].oneOf.2.function-after[handle_nullable(), Schema].properties.private_key.function-after[handle_nullable(), Schema].properties.hidden-secret.function-after[handle_nullable(), Schema].enum.list[nullable[str]].0
Input should be a valid string [type=string_type, input_value=True, input_type=bool]
For further information visit https://errors.pydantic.dev/2.5/v/string_type
paths./api/0/projects/{organization_slug}/{project_slug}/symbol-sources/.get.responses.200.Reference.$ref
Field required [type=missing, input_value={'content': {'application...}}}}, 'description': ''}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.5/v/missing
paths./api/0/projects/{organization_slug}/{project_slug}/symbol-sources/.put.responses.200.Response.content.application/json.schema.Reference.$ref
Field required [type=missing, input_value={'oneOf': [{'type': 'obje...nalProperties': False}]}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.5/v/missing
paths./api/0/projects/{organization_slug}/{project_slug}/symbol-sources/.put.responses.200.Response.content.application/json.schema.function-after[handle_nullable(), Schema].oneOf.0.Reference.$ref
Field required [type=missing, input_value={'type': 'object', 'prope...ionalProperties': False}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.5/v/missing
paths./api/0/projects/{organization_slug}/{project_slug}/symbol-sources/.put.responses.200.Response.content.application/json.schema.function-after[handle_nullable(), Schema].oneOf.0.function-after[handle_nullable(), Schema].properties.password.Reference.$ref
Field required [type=missing, input_value={'type': 'object', 'prope...lean', 'enum': [True]}}}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.5/v/missing
paths./api/0/projects/{organization_slug}/{project_slug}/symbol-sources/.put.responses.200.Response.content.application/json.schema.function-after[handle_nullable(), Schema].oneOf.0.function-after[handle_nullable(), Schema].properties.password.function-after[handle_nullable(), Schema].properties.hidden-secret.Reference.$ref
Field required [type=missing, input_value={'type': 'boolean', 'enum': [True]}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.5/v/missing
paths./api/0/projects/{organization_slug}/{project_slug}/symbol-sources/.put.responses.200.Response.content.application/json.schema.function-after[handle_nullable(), Schema].oneOf.0.function-after[handle_nullable(), Schema].properties.password.function-after[handle_nullable(), Schema].properties.hidden-secret.function-after[handle_nullable(), Schema].enum.list[nullable[int]].0
Input should be a valid integer [type=int_type, input_value=True, input_type=bool]
For further information visit https://errors.pydantic.dev/2.5/v/int_type
paths./api/0/projects/{organization_slug}/{project_slug}/symbol-sources/.put.responses.200.Response.content.application/json.schema.function-after[handle_nullable(), Schema].oneOf.0.function-after[handle_nullable(), Schema].properties.password.function-after[handle_nullable(), Schema].properties.hidden-secret.function-after[handle_nullable(), Schema].enum.list[nullable[str]].0
Input should be a valid string [type=string_type, input_value=True, input_type=bool]
For further information visit https://errors.pydantic.dev/2.5/v/string_type
paths./api/0/projects/{organization_slug}/{project_slug}/symbol-sources/.put.responses.200.Response.content.application/json.schema.function-after[handle_nullable(), Schema].oneOf.1.Reference.$ref
Field required [type=missing, input_value={'type': 'object', 'prope...ionalProperties': False}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.5/v/missing
paths./api/0/projects/{organization_slug}/{project_slug}/symbol-sources/.put.responses.200.Response.content.application/json.schema.function-after[handle_nullable(), Schema].oneOf.1.function-after[handle_nullable(), Schema].properties.secret_key.Reference.$ref
Field required [type=missing, input_value={'type': 'object', 'prope...lean', 'enum': [True]}}}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.5/v/missing
paths./api/0/projects/{organization_slug}/{project_slug}/symbol-sources/.put.responses.200.Response.content.application/json.schema.function-after[handle_nullable(), Schema].oneOf.1.function-after[handle_nullable(), Schema].properties.secret_key.function-after[handle_nullable(), Schema].properties.hidden-secret.Reference.$ref
Field required [type=missing, input_value={'type': 'boolean', 'enum': [True]}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.5/v/missing
paths./api/0/projects/{organization_slug}/{project_slug}/symbol-sources/.put.responses.200.Response.content.application/json.schema.function-after[handle_nullable(), Schema].oneOf.1.function-after[handle_nullable(), Schema].properties.secret_key.function-after[handle_nullable(), Schema].properties.hidden-secret.function-after[handle_nullable(), Schema].enum.list[nullable[int]].0
Input should be a valid integer [type=int_type, input_value=True, input_type=bool]
For further information visit https://errors.pydantic.dev/2.5/v/int_type
paths./api/0/projects/{organization_slug}/{project_slug}/symbol-sources/.put.responses.200.Response.content.application/json.schema.function-after[handle_nullable(), Schema].oneOf.1.function-after[handle_nullable(), Schema].properties.secret_key.function-after[handle_nullable(), Schema].properties.hidden-secret.function-after[handle_nullable(), Schema].enum.list[nullable[str]].0
Input should be a valid string [type=string_type, input_value=True, input_type=bool]
For further information visit https://errors.pydantic.dev/2.5/v/string_type
paths./api/0/projects/{organization_slug}/{project_slug}/symbol-sources/.put.responses.200.Response.content.application/json.schema.function-after[handle_nullable(), Schema].oneOf.2.Reference.$ref
Field required [type=missing, input_value={'type': 'object', 'prope...ionalProperties': False}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.5/v/missing
paths./api/0/projects/{organization_slug}/{project_slug}/symbol-sources/.put.responses.200.Response.content.application/json.schema.function-after[handle_nullable(), Schema].oneOf.2.function-after[handle_nullable(), Schema].properties.private_key.Reference.$ref
Field required [type=missing, input_value={'type': 'object', 'prope...lean', 'enum': [True]}}}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.5/v/missing
paths./api/0/projects/{organization_slug}/{project_slug}/symbol-sources/.put.responses.200.Response.content.application/json.schema.function-after[handle_nullable(), Schema].oneOf.2.function-after[handle_nullable(), Schema].properties.private_key.function-after[handle_nullable(), Schema].properties.hidden-secret.Reference.$ref
Field required [type=missing, input_value={'type': 'boolean', 'enum': [True]}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.5/v/missing
paths./api/0/projects/{organization_slug}/{project_slug}/symbol-sources/.put.responses.200.Response.content.application/json.schema.function-after[handle_nullable(), Schema].oneOf.2.function-after[handle_nullable(), Schema].properties.private_key.function-after[handle_nullable(), Schema].properties.hidden-secret.function-after[handle_nullable(), Schema].enum.list[nullable[int]].0
Input should be a valid integer [type=int_type, input_value=True, input_type=bool]
For further information visit https://errors.pydantic.dev/2.5/v/int_type
paths./api/0/projects/{organization_slug}/{project_slug}/symbol-sources/.put.responses.200.Response.content.application/json.schema.function-after[handle_nullable(), Schema].oneOf.2.function-after[handle_nullable(), Schema].properties.private_key.function-after[handle_nullable(), Schema].properties.hidden-secret.function-after[handle_nullable(), Schema].enum.list[nullable[str]].0
Input should be a valid string [type=string_type, input_value=True, input_type=bool]
For further information visit https://errors.pydantic.dev/2.5/v/string_type
paths./api/0/projects/{organization_slug}/{project_slug}/symbol-sources/.put.responses.200.Reference.$ref
Field required [type=missing, input_value={'content': {'application...}}}}, 'description': ''}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.5/v/missing
paths./api/0/projects/{organization_slug}/{project_slug}/symbol-sources/.post.responses.201.Response.content.application/json.schema.Reference.$ref
Field required [type=missing, input_value={'oneOf': [{'type': 'obje...nalProperties': False}]}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.5/v/missing
paths./api/0/projects/{organization_slug}/{project_slug}/symbol-sources/.post.responses.201.Response.content.application/json.schema.function-after[handle_nullable(), Schema].oneOf.0.Reference.$ref
Field required [type=missing, input_value={'type': 'object', 'prope...ionalProperties': False}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.5/v/missing
paths./api/0/projects/{organization_slug}/{project_slug}/symbol-sources/.post.responses.201.Response.content.application/json.schema.function-after[handle_nullable(), Schema].oneOf.0.function-after[handle_nullable(), Schema].properties.password.Reference.$ref
Field required [type=missing, input_value={'type': 'object', 'prope...lean', 'enum': [True]}}}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.5/v/missing
paths./api/0/projects/{organization_slug}/{project_slug}/symbol-sources/.post.responses.201.Response.content.application/json.schema.function-after[handle_nullable(), Schema].oneOf.0.function-after[handle_nullable(), Schema].properties.password.function-after[handle_nullable(), Schema].properties.hidden-secret.Reference.$ref
Field required [type=missing, input_value={'type': 'boolean', 'enum': [True]}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.5/v/missing
paths./api/0/projects/{organization_slug}/{project_slug}/symbol-sources/.post.responses.201.Response.content.application/json.schema.function-after[handle_nullable(), Schema].oneOf.0.function-after[handle_nullable(), Schema].properties.password.function-after[handle_nullable(), Schema].properties.hidden-secret.function-after[handle_nullable(), Schema].enum.list[nullable[int]].0
Input should be a valid integer [type=int_type, input_value=True, input_type=bool]
For further information visit https://errors.pydantic.dev/2.5/v/int_type
paths./api/0/projects/{organization_slug}/{project_slug}/symbol-sources/.post.responses.201.Response.content.application/json.schema.function-after[handle_nullable(), Schema].oneOf.0.function-after[handle_nullable(), Schema].properties.password.function-after[handle_nullable(), Schema].properties.hidden-secret.function-after[handle_nullable(), Schema].enum.list[nullable[str]].0
Input should be a valid string [type=string_type, input_value=True, input_type=bool]
For further information visit https://errors.pydantic.dev/2.5/v/string_type
paths./api/0/projects/{organization_slug}/{project_slug}/symbol-sources/.post.responses.201.Response.content.application/json.schema.function-after[handle_nullable(), Schema].oneOf.1.Reference.$ref
Field required [type=missing, input_value={'type': 'object', 'prope...ionalProperties': False}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.5/v/missing
paths./api/0/projects/{organization_slug}/{project_slug}/symbol-sources/.post.responses.201.Response.content.application/json.schema.function-after[handle_nullable(), Schema].oneOf.1.function-after[handle_nullable(), Schema].properties.secret_key.Reference.$ref
Field required [type=missing, input_value={'type': 'object', 'prope...lean', 'enum': [True]}}}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.5/v/missing
paths./api/0/projects/{organization_slug}/{project_slug}/symbol-sources/.post.responses.201.Response.content.application/json.schema.function-after[handle_nullable(), Schema].oneOf.1.function-after[handle_nullable(), Schema].properties.secret_key.function-after[handle_nullable(), Schema].properties.hidden-secret.Reference.$ref
Field required [type=missing, input_value={'type': 'boolean', 'enum': [True]}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.5/v/missing
paths./api/0/projects/{organization_slug}/{project_slug}/symbol-sources/.post.responses.201.Response.content.application/json.schema.function-after[handle_nullable(), Schema].oneOf.1.function-after[handle_nullable(), Schema].properties.secret_key.function-after[handle_nullable(), Schema].properties.hidden-secret.function-after[handle_nullable(), Schema].enum.list[nullable[int]].0
Input should be a valid integer [type=int_type, input_value=True, input_type=bool]
For further information visit https://errors.pydantic.dev/2.5/v/int_type
paths./api/0/projects/{organization_slug}/{project_slug}/symbol-sources/.post.responses.201.Response.content.application/json.schema.function-after[handle_nullable(), Schema].oneOf.1.function-after[handle_nullable(), Schema].properties.secret_key.function-after[handle_nullable(), Schema].properties.hidden-secret.function-after[handle_nullable(), Schema].enum.list[nullable[str]].0
Input should be a valid string [type=string_type, input_value=True, input_type=bool]
For further information visit https://errors.pydantic.dev/2.5/v/string_type
paths./api/0/projects/{organization_slug}/{project_slug}/symbol-sources/.post.responses.201.Response.content.application/json.schema.function-after[handle_nullable(), Schema].oneOf.2.Reference.$ref
Field required [type=missing, input_value={'type': 'object', 'prope...ionalProperties': False}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.5/v/missing
paths./api/0/projects/{organization_slug}/{project_slug}/symbol-sources/.post.responses.201.Response.content.application/json.schema.function-after[handle_nullable(), Schema].oneOf.2.function-after[handle_nullable(), Schema].properties.private_key.Reference.$ref
Field required [type=missing, input_value={'type': 'object', 'prope...lean', 'enum': [True]}}}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.5/v/missing
paths./api/0/projects/{organization_slug}/{project_slug}/symbol-sources/.post.responses.201.Response.content.application/json.schema.function-after[handle_nullable(), Schema].oneOf.2.function-after[handle_nullable(), Schema].properties.private_key.function-after[handle_nullable(), Schema].properties.hidden-secret.Reference.$ref
Field required [type=missing, input_value={'type': 'boolean', 'enum': [True]}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.5/v/missing
paths./api/0/projects/{organization_slug}/{project_slug}/symbol-sources/.post.responses.201.Response.content.application/json.schema.function-after[handle_nullable(), Schema].oneOf.2.function-after[handle_nullable(), Schema].properties.private_key.function-after[handle_nullable(), Schema].properties.hidden-secret.function-after[handle_nullable(), Schema].enum.list[nullable[int]].0
Input should be a valid integer [type=int_type, input_value=True, input_type=bool]
For further information visit https://errors.pydantic.dev/2.5/v/int_type
paths./api/0/projects/{organization_slug}/{project_slug}/symbol-sources/.post.responses.201.Response.content.application/json.schema.function-after[handle_nullable(), Schema].oneOf.2.function-after[handle_nullable(), Schema].properties.private_key.function-after[handle_nullable(), Schema].properties.hidden-secret.function-after[handle_nullable(), Schema].enum.list[nullable[str]].0
Input should be a valid string [type=string_type, input_value=True, input_type=bool]
For further information visit https://errors.pydantic.dev/2.5/v/string_type
paths./api/0/projects/{organization_slug}/{project_slug}/symbol-sources/.post.responses.201.Reference.$ref
Field required [type=missing, input_value={'content': {'application...}}}}, 'description': ''}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.5/v/missing
Working generator
OpenAPITools/openapi-generator
docker run --rm -v ${PWD}:/local openapitools/openapi-generator-cli generate -i /local/openapi.json -g python -o /local/out/python
If I remove the path /api/0/projects/{organization_slug}/{project_slug}/symbol-sources/
from the schema file (which is the only path with errors), I get this error:
ERROR:root:Incorrect path templating for /api/0/organizations/{organization_slug}/monitors/{monitor_slug}/checkins/ (Path parameters do not match with path)
Don't know how this works/sticks together.
Alright, there are at least 3 issues I've found so far 😁:
- The spec uses boolean enums, these are valid OpenAPI but not supported by this generator yet. These shouldn't be parsing errors, though, that's a bug. It should just skip the endpoint that requires them and move on. So that's one thing to fix 🐛
- The path templating is actually wrong—that endpoint declares a
checkin_id
path parameter, but there's nowhere in the path to put it. There may be some edge case with OpenAPI about what you're supposed to do with extra path parameters, I'll have to poke around at the spec to be confident, but it seems like an error in the document. /components/schemas/OrganizationMemberWithRoles
has both anis_global
andisGlobal
property. I think this is an error in the document even though it's technically valid OpenAPI. This appears in several other places as well. However, instead of producing an error, the generator is producing duplicate properties, which is invalid Python code. So that's another bug for me to fix 🐛
So, if you remove the bits that cause errors for 2 & 3 (like the modified attached spec), you can use the new branch on #923 (which somewhat supports bool enums) to generate the client now 😁.
Nice! Thanks for fixing boolean enums, works like a charm.
Regarding topic 2: At the first sight this looks like an error in the document. I will reinvestigate more before reporting it in the upstream project.
In total, the interesting point is, that the other generator mentioned above can work with both remaining issues. Maybe we can get some information there.
I checked the openapi spec of sentry again and ensured that case 2 only occures in this endpoint. I opened an upstream issue for that (getsentry/sentry#62717).
This is a huge repository and I dont expect a fast solution. Lets wait a few days, maybe one week. Maybe we can find an other solution for this temporarily by implementing a overwrite, whichs refactors unused parameters to not-required or query params.
Regarding point 3: It seems that is_global
is not equal to isGlobal
in the sentry "cosmos". Here you can find the docs for one of the failing parts: Retrieve an Organization Member.
Would be great if we could respect there crazy naming and handle it as seperate as well.
FYI: Sounds like Sentry will fix the schema, which resolves our point 2 (see above).
I believe the only remaining issue (3 above, is_global
vs isGlobal
) will be fixed by #972