Add OpenAPI Doc for Schema Registry 2023-07 API
Data Plane API - Pull Request
This pull requests updates the OpenAPI doc for Event Hubs Schema Registry, outlining the endpoints for supporting Protobuf schemas, the latest schema type. This PR adds the following changes:
- Updates the API version to the latest Event Hubs API version: 2023-07
- Adds new Content-Type header for Protobuf schemas in request and response headers
- Updates samples to reflect changes
API Info: The Basics
Most of the information about your service should be captured in the issue that serves as your API Spec engagement record.
- Link to API Spec engagement record issue:
Is this review for (select one):
- [ ] a private preview
- [x] a public preview
- [x] GA release
Change Scope
This section will help us focus on the specific parts of your API that are new or have been modified.
Please share a link to the design document for the new APIs, a link to the previous API Spec document (if applicable), and the root paths that have been updated.
- Design Document:
- Previous API Spec Doc: https://github.com/Azure/azure-rest-api-specs/tree/main/specification/schemaregistry/data-plane/Microsoft.EventHub/stable/2022-10
- Updated paths: Content-Type request headers for schema body requests ("consumes" in OpenAPI doc); Content-Type response header for schema body responses ("produces" in OpenAPI doc).
❔Got questions? Need additional info?? We are here to help!
Contact us!
The Azure API Review Board is dedicated to helping you create amazing APIs. You can read about our mission and learn more about our process on our wiki.
- 💬 Teams Channel
Click here for links to tools, specs, guidelines & other good stuff
Tooling
- Open API validation tools were run on this PR. Go here to see how to fix errors
- Spectral Linting
- Open API Hub
Guidelines & Specifications
Helpful Links
Hi, @nickghardwick! Thank you for your pull request. To help get your PR merged:
Generated ApiView comment added to this PR. You can use ApiView to show API versions diff.
Swagger Validation Report
️️✔️BreakingChange succeeded [Detail] [Expand]
There are no breaking changes.
️️✔️Breaking Change(Cross-Version) succeeded [Detail] [Expand]
There are no breaking changes.
| compared swaggers (via Oad v0.10.4)] | new version | base version |
|---|---|---|
| schemaregistry.json | 2023-07-01(894d48c) | 2022-10(main) |
️️✔️CredScan succeeded [Detail] [Expand]
There is no credential detected.
️⚠️LintDiff: 0 Warnings warning [Detail]
| compared tags (via openapi-validator v2.1.4) | new version | base version |
|---|---|---|
| package-2023-07-01 | package-2023-07-01(894d48c) | default(main) |
The following errors/warnings exist before current PR submission:
| Rule | Message |
|---|---|
IntegerTypeMustHaveFormat |
The integer type does not have a format, please add it. Location: Microsoft.EventHub/stable/2023-07-01/schemaregistry.json#L139 |
OperationIdNounVerb |
Per the Noun_Verb convention for Operation Ids, the noun 'Schema' should not appear after the underscore. Note: If you have already shipped an SDK on top of this spec, fixing this warning may introduce a breaking change. Location: Microsoft.EventHub/stable/2023-07-01/schemaregistry.json#L227 |
IntegerTypeMustHaveFormat |
The integer type does not have a format, please add it. Location: Microsoft.EventHub/stable/2023-07-01/schemaregistry.json#L374 |
IntegerTypeMustHaveFormat |
The integer type does not have a format, please add it. Location: Microsoft.EventHub/stable/2023-07-01/schemaregistry.json#L463 |
IntegerTypeMustHaveFormat |
The integer type does not have a format, please add it. Location: Microsoft.EventHub/stable/2023-07-01/schemaregistry.json#L536 |
XmsParameterLocation |
The parameter 'ApiVersionParameter' is defined in global parameters section without 'x-ms-parameter-location' extension. This would add the parameter as the client property. Please ensure that this is exactly you want. If so, apply the extension 'x-ms-parameter-location': 'client'. Else, apply the extension 'x-ms-parameter-location': 'method'. Location: Microsoft.EventHub/stable/2023-07-01/schemaregistry.json#L579 |
| :warning: PathCharacters | Path contains non-recommended characters. Location: Microsoft.EventHub/stable/2023-07-01/schemaregistry.json#L39 |
| :warning: OperationIdNounConflictingModelNames | OperationId has a noun that conflicts with one of the model names in definitions section. The model name will be disambiguated to 'SchemaGroupsModel'. Consider using the plural form of 'SchemaGroups' to avoid this. Note: If you have already shipped an SDK on top of this spec, fixing this warning may introduce a breaking change. Location: Microsoft.EventHub/stable/2023-07-01/schemaregistry.json#L48 |
| :warning: PaginationResponse | Response body schema of pageable response should contain top-level array property valueLocation: Microsoft.EventHub/stable/2023-07-01/schemaregistry.json#L64 |
| :warning: PathCharacters | Path contains non-recommended characters. Location: Microsoft.EventHub/stable/2023-07-01/schemaregistry.json#L83 |
| :warning: PathParameterSchema | Path parameter should specify a maximum length (maxLength) and characters allowed (pattern). Location: Microsoft.EventHub/stable/2023-07-01/schemaregistry.json#L100 |
| :warning: PathCharacters | Path contains non-recommended characters. Location: Microsoft.EventHub/stable/2023-07-01/schemaregistry.json#L164 |
| :warning: ListInOperationName | Since operation response has model definition in array type, it should be of the form '_list'. Location: Microsoft.EventHub/stable/2023-07-01/schemaregistry.json#L165 |
| :warning: OperationId | OperationId for get method on a collection should contain 'List' Location: Microsoft.EventHub/stable/2023-07-01/schemaregistry.json#L173 |
| :warning: PathParameterSchema | Path parameter should specify a maximum length (maxLength) and characters allowed (pattern). Location: Microsoft.EventHub/stable/2023-07-01/schemaregistry.json#L182 |
| :warning: PaginationResponse | Response body schema of pageable response should contain top-level array property valueLocation: Microsoft.EventHub/stable/2023-07-01/schemaregistry.json#L199 |
| :warning: PathCharacters | Path contains non-recommended characters. Location: Microsoft.EventHub/stable/2023-07-01/schemaregistry.json#L218 |
| :warning: PathParameterSchema | Path parameter should specify a maximum length (maxLength) and characters allowed (pattern). Location: Microsoft.EventHub/stable/2023-07-01/schemaregistry.json#L235 |
| :warning: PathParameterSchema | Path parameter should specify a maximum length (maxLength) and characters allowed (pattern). Location: Microsoft.EventHub/stable/2023-07-01/schemaregistry.json#L245 |
| :warning: PathParameterSchema | Path parameter should be defined as type: string. Location: Microsoft.EventHub/stable/2023-07-01/schemaregistry.json#L245 |
| :warning: PathCharacters | Path contains non-recommended characters. Location: Microsoft.EventHub/stable/2023-07-01/schemaregistry.json#L306 |
| :warning: PathParameterSchema | Path parameter should specify a maximum length (maxLength) and characters allowed (pattern). Location: Microsoft.EventHub/stable/2023-07-01/schemaregistry.json#L326 |
| :warning: PathCharacters | Path contains non-recommended characters. Location: Microsoft.EventHub/stable/2023-07-01/schemaregistry.json#L395 |
| :warning: OperationId | OperationId for put method should contain 'Create' or 'Update' Location: Microsoft.EventHub/stable/2023-07-01/schemaregistry.json#L404 |
| :warning: PutInOperationName | 'PUT' operation 'Schema_Register' should use method name 'Create'. Note: If you have already shipped an SDK on top of this spec, fixing this warning may introduce a breaking change. Location: Microsoft.EventHub/stable/2023-07-01/schemaregistry.json#L404 |
| :warning: PathParameterSchema | Path parameter should specify a maximum length (maxLength) and characters allowed (pattern). Location: Microsoft.EventHub/stable/2023-07-01/schemaregistry.json#L415 |
️️✔️Avocado succeeded [Detail] [Expand]
Validation passes for Avocado.
️️✔️SwaggerAPIView succeeded [Detail] [Expand]
️️✔️TypeSpecAPIView succeeded [Detail] [Expand]
️️✔️ModelValidation succeeded [Detail] [Expand]
Validation passes for ModelValidation.
️️✔️SemanticValidation succeeded [Detail] [Expand]
Validation passes for SemanticValidation.
️️✔️PoliCheck succeeded [Detail] [Expand]
Validation passed for PoliCheck.
️️✔️PrettierCheck succeeded [Detail] [Expand]
Validation passes for PrettierCheck.
️️✔️SpellCheck succeeded [Detail] [Expand]
Validation passes for SpellCheck.
️️✔️Lint(RPaaS) succeeded [Detail] [Expand]
Validation passes for Lint(RPaaS).
️️✔️PR Summary succeeded [Detail] [Expand]
Validation passes for Summary.
️️✔️Automated merging requirements met succeeded [Detail] [Expand]
Swagger Generation Artifacts
️️✔️ApiDocPreview succeeded [Detail] [Expand]
Please click here to preview with your @microsoft account.
️️✔️SDK Breaking Change Tracking succeeded [Detail] [Expand]
Breaking Changes Tracking
Generated ApiView
| Language | Package Name | ApiView Link |
|---|---|---|
| Swagger | Microsoft.EventHub | https://apiview.dev/Assemblies/Review/2b725cd46be14cb19ab2a12024e036b5 |
Hi @nickghardwick! For review efficiency consideration, when creating a new API version, it is required to place API specs of the base version in the first commit, and push new version updates into successive commits. You can use OpenAPIHub to initialize the PR for adding a new version.
For more details refer to the wiki.
Hi @nickghardwick! Your PR has some issues. Please fix the CI issues, if present, in following order: Avocado, SemanticValidation, ModelValidation, Breaking Change, LintDiff.
| Task | How to fix | Priority |
|---|---|---|
| Avocado | Fix-Avocado | High |
| Semantic Validation | Fix-SemanticValidation-Error | High |
| Model Validation | Fix-ModelValidation-Error | High |
| LintDiff | Fix-LintDiff | High |
If you need further help, please reach out on the Teams channel aka.ms/azsdk/support/specreview-channel.
Yes, I signed off on it (added the label) on July 18th
/azp run
Next Steps to Merge
⚠️ This is an experimental comment. It may not always be up-to-date. ⚠️
✔️ All automated merging requirements have been met! Refer to step 4 in the PR workflow diagram (even if your PR is for data plane, not ARM).Azure Pipelines successfully started running 2 pipeline(s).
Automatic PR validation started. This comment will be populated with next steps to merge this PR once validation is completed. Please wait ⌛.
Swagger pipeline restarted successfully, please wait for status update in this comment.