enum and properties change in schemas not reported in .md file generated after diff check
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 42/100
Línea de trabajo
Reproduzca el problema con las especificaciones JSON de OpenAPI antigua y nueva proporcionadas y compare el diff de Markdown generado. Rastree la ruta del diff y de generación de informes en Markdown para los esquemas de componentes reutilizados y las propiedades anidadas. Se considera completado cuando cada cambio aplicable de enum y de propiedad aparece en el informe para cada llamada REST afectada.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Compared 2 API Specifications json. The Specification contains multiple component schemas. But if there is an Enum Array (same array) is present in different component schemas, then while publishing the diff for Rest Call only once the ENUM change is reported although multiple schema changes are applicable for that or other Rest Call with the same Enum Array list.
Similarly observed the same issue with properties change in Schema.
Sample for enum issue:
Old Spec:
{ "openapi": "3.0.1", "paths": { "/check/api/Id/Exp{ExpId}": { "get": { "responses": { "default": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ExpRO" } } } } } } } }, "components": { "schemas": { "ExpRO": { "type": "object", "properties": { "data": { "$ref": "#/components/schemas/ExpDataRO" } } }, "ExpDataRO": { "type": "object", "properties": { "id": { "type": "string" }, "type": { "type": "string", "enum": [ "tpeExpectations" ] }, "attributes": { "$ref": "#/components/schemas/ExpAttributesRO" } } }, "ExpAttributesRO": { "type": "object", "properties": { "Terminations": { "type": "array", "items": { "$ref": "#/components/schemas/TerminationRO" } } } }, "TerminationRO": { "type": "object", "properties": { "nniNetwork": { "$ref": "#/components/schemas/NetworkRO" }, "ponConnection": { "$ref": "#/components/schemas/PonConnectionRO" } } }, "NetworkRO": { "type": "object", "properties": { "tagAction": { "type": "string", "enum": [ "none", "pop", "push", "stamp" ] }, "floodingLink": { "type": "string", "enum": [ "enabled", "disabled" ] } } }, "PonConnectionRO": { "type": "object", "properties": { "tagAction": { "type": "string", "enum": [ "none", "pop", "push", "stamp" ] } } } } } }
New Spec:
{ "openapi": "3.0.1", "paths": { "/check/api/Id/Exp{ExpId}": { "get": { "responses": { "default": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ExpRO" } } } } } } } }, "components": { "schemas": { "ExpRO": { "type": "object", "properties": { "data": { "$ref": "#/components/schemas/ExpDataRO" } } }, "ExpDataRO": { "type": "object", "properties": { "id": { "type": "string" }, "type": { "type": "string", "enum": [ "tpeExpectations" ] }, "attributes": { "$ref": "#/components/schemas/ExpAttributesRO" } } }, "ExpAttributesRO": { "type": "object", "properties": { "Terminations": { "type": "array", "items": { "$ref": "#/components/schemas/TerminationRO" } } } }, "TerminationRO": { "type": "object", "properties": { "NetworkConnectionPackage": { "$ref": "#/components/schemas/NetworkConnectionRO" }, "ponConnectionPackage": { "$ref": "#/components/schemas/PonConnectionRO" }, "datalinkPackage": { "$ref": "#/components/schemas/DatalinkRO" } } }, "NetworkConnectionRO": { "type": "object", "properties": { "tagAction": { "type": "string", "enum": [ "none", "pop", "push", "stamp" ] }, "floodingLink": { "type": "string", "enum": [ "enabled", "disabled" ] } } }, "PonConnectionRO": { "type": "object", "properties": { "tagAction": { "type": "string", "enum": [ "none", "pop", "push", "stamp" ] } } }, "DatalinkRO": { "type": "object", "properties": { "adminState": { "type": "string", "enum": [ "enabled", "disabled" ] } } } } } }
Diff md file:
What's Changed
GET /check/api/Id/Exp{ExpId}
Return Type:
Changed response : **default **
-
Changed content type :
application/json-
Changed property
data(object)-
Changed property
attributes(object)-
Changed property
Terminations(array)Changed items (object):
-
Added property
NetworkConnectionPackage(object)-
Property
tagAction(string)Enum values:
nonepoppushstamp
-
Property
floodingLink(string)Enum values:
enableddisabled
-
-
Added property
ponConnectionPackage(object)- Property
tagAction(string)
- Property
-
Added property
datalinkPackage(object)- Property
adminState(string)
- Property
-
Deleted property
nniNetwork(object) -
Deleted property
ponConnection(object)
-
-
-
-
Enum change not reported for datalinkPackage -> adminState and ponConnectionPackage -> tagAction
Sample for properties issue:
Old Spec:
{ "openapi": "3.0.1", "paths": { "/check/API": { "get": { "responses": { "default": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ExpAPIRO" } } } } } } } }, "components": { "schemas": { "ExpAPIRO": { "type": "object", "properties": { "data": { "$ref": "#/components/schemas/ExpAPIDataRO" } } }, "ExpAPIDataRO": { "type": "object", "properties": { "relationships": { "$ref": "#/components/schemas/ExpAPIRelationshipsRO" } } }, "ExpAPIRelationshipsRO": { "type": "object", "properties": {} } } } }
New Spec:
{ "openapi": "3.0.1", "paths": { "/check/API": { "get": { "responses": { "default": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ExpAPIRO" } } } } } } } }, "components": { "schemas": { "ExpAPIRO": { "type": "object", "properties": { "data": { "$ref": "#/components/schemas/ExpAPIDataRO" } } }, "ExpAPIDataRO": { "type": "object", "properties": { "relationships": { "$ref": "#/components/schemas/ExpAPIRelationshipsRO" } } }, "ExpAPIRelationshipsRO": { "type": "object", "properties": { "linkedTpes": { "$ref": "#/components/schemas/OneToManyRelationshipRO" }, "shelfNetworkConstruct": { "$ref": "#/components/schemas/OneToOneRelationshipRO" } } }, "OneToManyRelationshipRO": { "type": "object", "properties": { "data": { "type": "array", "items": { "$ref": "#/components/schemas/RelationshipDataRO" } }, "meta": { "$ref": "#/components/schemas/RelationshipMetaDataRO" } } }, "RelationshipDataRO": { "type": "object", "properties": { "type": { "type": "string" }, "id": { "type": "string" }, "attributes": { "$ref": "#/components/schemas/RelationshipAttributesRO" } } }, "RelationshipAttributesRO": { "type": "object", "properties": { "additionalAttributes": { "$ref": "#/components/schemas/AdditionalAttributesRO" } } }, "AdditionalAttributesRO": { "type": "object" }, "RelationshipMetaDataRO": { "type": "object", "properties": { "partiallyPopulated": { "type": "boolean" } } }, "OneToOneRelationshipRO": { "type": "object", "properties": { "data": { "$ref": "#/components/schemas/RelationshipDataRO" }, "meta": { "$ref": "#/components/schemas/RelationshipMetaDataRO" } } } } } }
Diff md file:
What's Changed
GET /check/API
Return Type:
Changed response : **default **
-
Changed content type :
application/json-
Changed property
data(object)-
Changed property
relationships(object)-
Added property
linkedTpes(object)-
Property
data(array)Items (object):
-
Property
type(string) -
Property
id(string) -
Property
attributes(object)- Property
additionalAttributes(object)
- Property
-
-
Property
meta(object)- Property
partiallyPopulated(boolean)
- Property
-
-
Added property
shelfNetworkConstruct(object)-
Property
data(object) -
Property
meta(object)
-
-
-
-
Property change in shelfNetworkConstruct-> meta and shelfNetworkConstruct-> data not reported in MD file.
- Lenguaje dominante
- Java
- Estrellas
- 1.1k
- Forks
- 191
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
- Incluye un Dockerfile o un archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de OpenAPITools/openapi-diff
-
enhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
OpenAPITools/openapi-diff#506 ·
-
good first issue help wanted
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
OpenAPITools/openapi-diff#364 ·
-
Property `type` change on referenced component schema is silently ignoredPosiblemente ocupada @Inf1mum la tomó hace 2 días. Abiertobug OpenAP 3.1.0 Support
Dificultad 3/5 1-2 días Aptitud para principiantes 68/100
OpenAPITools/openapi-diff#910 · 1 comentario ·
-
Changes reported in operations but only securityScheme changedPosiblemente ocupada @Inf1mum la tomó hace 5 días. AbiertoRender capabilities
Dificultad 3/5 1-2 días Aptitud para principiantes 55/100
OpenAPITools/openapi-diff#893 · 2 comentarios ·
-
[Bug] Backward compatibility check fails on reordered discriminator mappingsPosiblemente ocupada @MoChiUaena la tomó hace 47 días. AbiertoBreaking/Non-Breaking classification
Dificultad 3/5 1-2 días Aptitud para principiantes 55/100
OpenAPITools/openapi-diff#886 ·
Todos los issues de OpenAPITools/openapi-diff
Issues similares
-
bug emitter:client:csharp
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
microsoft/typespec#12572 · 1 comentario · 1 reacción ·
Los mantenedores suelen responder en 1 día
-
GCC 15.2: -Wcast-qual warning - cast discards const qualifier from pointer target type (H5trace.c)Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 73/100
Los mantenedores suelen responder en 1 día
-
[Bug] RemotingHelper.connect swaps the socket send and receive buffer configurationPosiblemente ocupada @amalsaidov la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
Los mantenedores suelen responder en 1 día
-
needs-area-label
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 2 días
-
area/ai area/backend component/zeebe kind/task
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
Los mantenedores suelen responder en 1 día