-
Notifications
You must be signed in to change notification settings - Fork 5.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Notification Hubs RP: adding API version 2023-01-01-preview #23740
Notification Hubs RP: adding API version 2023-01-01-preview #23740
Conversation
… 2023-01-01-preview
… into feature/notificationHubs/2023-01-01-preview
Hi, @kmiecikt Thanks for your PR. I am workflow bot for review process. Here are some small tips. Any feedback about review process or workflow bot, pls contact swagger and tools team. [email protected] |
Swagger Validation Report
|
compared swaggers (via Oad v0.10.4)] | new version | base version |
---|---|---|
notificationhubs.json | 2023-01-01-preview(0ed4bbb) | 2017-04-01(main) |
The following breaking changes are detected by comparison with the latest stable version:
Only 30 items are listed, please refer to log for more details.
Rule | Message |
---|---|
1003 - RequestBodyFormatNoLongerSupported |
The new version does not support 'application/json' as a request body format. Old: Microsoft.NotificationHubs/stable/2017-04-01/notificationhubs.json#L12:3 |
1003 - RequestBodyFormatNoLongerSupported |
The new version does not support 'application/json' as a request body format. Old: Microsoft.NotificationHubs/stable/2017-04-01/notificationhubs.json#L12:3 |
1003 - RequestBodyFormatNoLongerSupported |
The new version does not support 'application/json' as a request body format. Old: Microsoft.NotificationHubs/stable/2017-04-01/notificationhubs.json#L12:3 |
1003 - RequestBodyFormatNoLongerSupported |
The new version does not support 'application/json' as a request body format. Old: Microsoft.NotificationHubs/stable/2017-04-01/notificationhubs.json#L12:3 |
1003 - RequestBodyFormatNoLongerSupported |
The new version does not support 'application/json' as a request body format. Old: Microsoft.NotificationHubs/stable/2017-04-01/notificationhubs.json#L12:3 |
1003 - RequestBodyFormatNoLongerSupported |
The new version does not support 'application/json' as a request body format. Old: Microsoft.NotificationHubs/stable/2017-04-01/notificationhubs.json#L12:3 |
1003 - RequestBodyFormatNoLongerSupported |
The new version does not support 'application/json' as a request body format. Old: Microsoft.NotificationHubs/stable/2017-04-01/notificationhubs.json#L12:3 |
1003 - RequestBodyFormatNoLongerSupported |
The new version does not support 'application/json' as a request body format. Old: Microsoft.NotificationHubs/stable/2017-04-01/notificationhubs.json#L12:3 |
1003 - RequestBodyFormatNoLongerSupported |
The new version does not support 'application/json' as a request body format. Old: Microsoft.NotificationHubs/stable/2017-04-01/notificationhubs.json#L12:3 |
1003 - RequestBodyFormatNoLongerSupported |
The new version does not support 'application/json' as a request body format. Old: Microsoft.NotificationHubs/stable/2017-04-01/notificationhubs.json#L12:3 |
1005 - RemovedPath |
The new version is missing a path that was found in the old version. Was path '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName}' removed or restructured? Old: Microsoft.NotificationHubs/stable/2017-04-01/notificationhubs.json#L316:5 |
1005 - RemovedPath |
The new version is missing a path that was found in the old version. Was path '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/AuthorizationRules' removed or restructured? Old: Microsoft.NotificationHubs/stable/2017-04-01/notificationhubs.json#L547:5 |
1005 - RemovedPath |
The new version is missing a path that was found in the old version. Was path '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName}/listKeys' removed or restructured? Old: Microsoft.NotificationHubs/stable/2017-04-01/notificationhubs.json#L594:5 |
1005 - RemovedPath |
The new version is missing a path that was found in the old version. Was path '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName}/regenerateKeys' removed or restructured? Old: Microsoft.NotificationHubs/stable/2017-04-01/notificationhubs.json#L645:5 |
1005 - RemovedPath |
The new version is missing a path that was found in the old version. Was path '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/notificationHubs/{notificationHubName}/AuthorizationRules/{authorizationRuleName}' removed or restructured? Old: Microsoft.NotificationHubs/stable/2017-04-01/notificationhubs.json#L1037:5 |
1005 - RemovedPath |
The new version is missing a path that was found in the old version. Was path '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/notificationHubs/{notificationHubName}/AuthorizationRules' removed or restructured? Old: Microsoft.NotificationHubs/stable/2017-04-01/notificationhubs.json#L1263:5 |
1005 - RemovedPath |
The new version is missing a path that was found in the old version. Was path '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/notificationHubs/{notificationHubName}/AuthorizationRules/{authorizationRuleName}/listKeys' removed or restructured? Old: Microsoft.NotificationHubs/stable/2017-04-01/notificationhubs.json#L1317:5 |
1005 - RemovedPath |
The new version is missing a path that was found in the old version. Was path '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/notificationHubs/{notificationHubName}/AuthorizationRules/{authorizationRuleName}/regenerateKeys' removed or restructured? Old: Microsoft.NotificationHubs/stable/2017-04-01/notificationhubs.json#L1375:5 |
1006 - RemovedDefinition |
The new version is missing a definition that was found in the old version. Was 'NamespaceCreateOrUpdateParameters' removed or renamed? New: Microsoft.NotificationHubs/preview/2023-01-01-preview/notificationhubs.json#L1870:3 Old: Microsoft.NotificationHubs/stable/2017-04-01/notificationhubs.json#L1494:3 |
1006 - RemovedDefinition |
The new version is missing a definition that was found in the old version. Was 'SharedAccessAuthorizationRuleCreateOrUpdateParameters' removed or renamed? New: Microsoft.NotificationHubs/preview/2023-01-01-preview/notificationhubs.json#L1870:3 Old: Microsoft.NotificationHubs/stable/2017-04-01/notificationhubs.json#L1494:3 |
1006 - RemovedDefinition |
The new version is missing a definition that was found in the old version. Was 'PolicykeyResource' removed or renamed? New: Microsoft.NotificationHubs/preview/2023-01-01-preview/notificationhubs.json#L1870:3 Old: Microsoft.NotificationHubs/stable/2017-04-01/notificationhubs.json#L1494:3 |
1006 - RemovedDefinition |
The new version is missing a definition that was found in the old version. Was 'NotificationHubCreateOrUpdateParameters' removed or renamed? New: Microsoft.NotificationHubs/preview/2023-01-01-preview/notificationhubs.json#L1870:3 Old: Microsoft.NotificationHubs/stable/2017-04-01/notificationhubs.json#L1494:3 |
1006 - RemovedDefinition |
The new version is missing a definition that was found in the old version. Was 'DebugSendParameters' removed or renamed? New: Microsoft.NotificationHubs/preview/2023-01-01-preview/notificationhubs.json#L1870:3 Old: Microsoft.NotificationHubs/stable/2017-04-01/notificationhubs.json#L1494:3 |
1008 - ModifiedOperationId |
The operation id has been changed from 'Namespaces_Patch' to 'Namespaces_Update'. This will impact generated code. New: Microsoft.NotificationHubs/preview/2023-01-01-preview/notificationhubs.json#L934:7 Old: Microsoft.NotificationHubs/stable/2017-04-01/notificationhubs.json#L173:7 |
1008 - ModifiedOperationId |
The operation id has been changed from 'NotificationHubs_Patch' to 'NotificationHubs_Update'. This will impact generated code. New: Microsoft.NotificationHubs/preview/2023-01-01-preview/notificationhubs.json#L181:7 Old: Microsoft.NotificationHubs/stable/2017-04-01/notificationhubs.json#L823:7 |
1011 - AddingResponseCode |
The new version adds a response code 'default'. New: Microsoft.NotificationHubs/preview/2023-01-01-preview/notificationhubs.json#L815:11 |
1011 - AddingResponseCode |
The new version adds a response code 'default'. New: Microsoft.NotificationHubs/preview/2023-01-01-preview/notificationhubs.json#L860:11 |
1011 - AddingResponseCode |
The new version adds a response code 'default'. New: Microsoft.NotificationHubs/preview/2023-01-01-preview/notificationhubs.json#L921:11 |
1011 - AddingResponseCode |
The new version adds a response code 'default'. New: Microsoft.NotificationHubs/preview/2023-01-01-preview/notificationhubs.json#L976:11 |
1011 - AddingResponseCode |
The new version adds a response code 'default'. New: Microsoft.NotificationHubs/preview/2023-01-01-preview/notificationhubs.json#L1019:11 |
️️✔️
CredScan succeeded [Detail] [Expand]
There is no credential detected.
️❌
LintDiff: 1 Errors, 4 Warnings failed [Detail]
compared tags (via openapi-validator v2.1.1) | new version | base version |
---|---|---|
package-2023-01-01-preview | package-2023-01-01-preview(0ed4bbb) | default(main) |
[must fix]The following errors/warnings are introduced by current PR:
Rule | Message | Related RPC [For API reviewers] |
---|---|---|
RepeatedPathInfo |
The 'subscriptionId' already appears in the path, please don't repeat it in the request body. Location: Microsoft.NotificationHubs/preview/2023-01-01-preview/notificationhubs.json#L886 |
RPC-Put-V1-05 |
'PUT' operation 'PrivateEndpointConnections_Update' 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.NotificationHubs/preview/2023-01-01-preview/notificationhubs.json#L1557 |
||
Booleans properties are not descriptive in all cases and can make them to use, evaluate whether is makes sense to keep the property as boolean or turn it into an enum. Location: Microsoft.NotificationHubs/preview/2023-01-01-preview/notificationhubs.json#L2430 |
||
Booleans properties are not descriptive in all cases and can make them to use, evaluate whether is makes sense to keep the property as boolean or turn it into an enum. Location: Microsoft.NotificationHubs/preview/2023-01-01-preview/notificationhubs.json#L2599 |
||
Booleans properties are not descriptive in all cases and can make them to use, evaluate whether is makes sense to keep the property as boolean or turn it into an enum. Location: Microsoft.NotificationHubs/preview/2023-01-01-preview/notificationhubs.json#L2845 |
The following errors/warnings exist before current PR submission:
Rule | Message |
---|---|
OperationIdNounVerb |
Per the Noun_Verb convention for Operation Ids, the noun 'NotificationHubs' 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.NotificationHubs/preview/2023-01-01-preview/notificationhubs.json#L19 |
SyncPostReturn |
A synchronous POST operation must have either 200 or 204 return codes. Location: Microsoft.NotificationHubs/preview/2023-01-01-preview/notificationhubs.json#L350 |
PostOperationAsyncResponseValidation |
Only 202 is the supported response code for POST async response. Location: Microsoft.NotificationHubs/preview/2023-01-01-preview/notificationhubs.json#L377 |
OperationsApiSchemaUsesCommonTypes |
Operations API path must follow the schema provided in the common types. Location: Microsoft.NotificationHubs/preview/2023-01-01-preview/notificationhubs.json#L1529 |
ArmResourcePropertiesBag |
Top level property names should not be repeated inside the properties bag for ARM resource 'NamespaceResource'. Properties [properties.name] conflict with ARM top level properties. Please rename these. Location: Microsoft.NotificationHubs/preview/2023-01-01-preview/notificationhubs.json#L2643 |
ArmResourcePropertiesBag |
Top level property names should not be repeated inside the properties bag for ARM resource 'NotificationHubResource'. Properties [properties.name] conflict with ARM top level properties. Please rename these. Location: Microsoft.NotificationHubs/preview/2023-01-01-preview/notificationhubs.json#L2810 |
TrackedResourcePatchOperation |
Tracked resource 'SharedAccessAuthorizationRuleResource' must have patch operation that at least supports the update of tags. Location: Microsoft.NotificationHubs/preview/2023-01-01-preview/notificationhubs.json#L3407 |
OperationId should contain the verb: 'checknamespaceavailability' in:'Namespaces_CheckAvailability'. Consider updating the operationId Location: Microsoft.NotificationHubs/preview/2023-01-01-preview/notificationhubs.json#L784 |
|
Property location must have 'x-ms-mutability':['read', 'create'] extension defined.Location: Microsoft.NotificationHubs/preview/2023-01-01-preview/notificationhubs.json#L2111 |
|
Booleans properties are not descriptive in all cases and can make them to use, evaluate whether is makes sense to keep the property as boolean or turn it into an enum. Location: Microsoft.NotificationHubs/preview/2023-01-01-preview/notificationhubs.json#L2122 |
|
Booleans properties are not descriptive in all cases and can make them to use, evaluate whether is makes sense to keep the property as boolean or turn it into an enum. Location: Microsoft.NotificationHubs/preview/2023-01-01-preview/notificationhubs.json#L2140 |
|
Booleans properties are not descriptive in all cases and can make them to use, evaluate whether is makes sense to keep the property as boolean or turn it into an enum. Location: Microsoft.NotificationHubs/preview/2023-01-01-preview/notificationhubs.json#L2556 |
|
Booleans properties are not descriptive in all cases and can make them to use, evaluate whether is makes sense to keep the property as boolean or turn it into an enum. Location: Microsoft.NotificationHubs/preview/2023-01-01-preview/notificationhubs.json#L2561 |
️️✔️
Avocado succeeded [Detail] [Expand]
Validation passes for Avocado.
️❌
ApiReadinessCheck: 1 Errors, 0 Warnings failed [Detail]
Rule | Message |
---|---|
API Readiness check failed. Please make sure your service is deployed. |
"code: InvalidResourceType, message: The resource type 'operations' could not be found in the namespace 'Microsoft.NotificationHubs' for api version '2023-01-01-preview'. The supported api-versions are '2014-09-01, 2016-03-01, 2017-04-01, 2020-01-01-preview'." |
️⚠️
~[Staging] ServiceAPIReadinessTest: 0 Warnings warning [Detail]
API Test is not triggered due to precheck failure. Check pipeline log for details.
️️✔️
SwaggerAPIView succeeded [Detail] [Expand]
️️✔️
CadlAPIView 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).
️️✔️
CadlValidation succeeded [Detail] [Expand]
Validation passes for CadlValidation.
️️✔️
TypeSpec Validation succeeded [Detail] [Expand]
Validation passes for TypeSpec Validation.
️️✔️
PR Summary succeeded [Detail] [Expand]
Validation passes for Summary.
Swagger Generation Artifacts
|
Generated ApiView
|
Hi @kmiecikt, one or multiple breaking change(s) is detected in your PR. Please check out the breaking change(s), and provide business justification in the PR comment and @ PR assignee why you must have these change(s), and how external customer impact can be mitigated. Please ensure to follow breaking change policy to request breaking change review and approval before proceeding swagger PR review. |
Hi, @kmiecikt, 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. Or you could onboard API spec pipeline |
Hi @kmiecikt, Your PR has some issues. Please fix the CI sequentially by following the order of
|
This is almost ready for review - we are making the last set of cleanups. The "Swagger Breaking Change" check reports only single error in the last build, but earlier today it used to fail with the errors listed below. The biggest challenge is the time since the last Swagger was published - over 6 years. Most of the new Open API / RP / ... requirements were added during that time. We tried to be as close as possible to the previous APIs, but almost all of the changes marked as "breaking" were required to fix the compliance issues. Also, please note that they only (or almost) affect the Swagger definition - the actual JSON content of requests / responses should be fully compatible with the older version. Rationale for reported breaking changesRule 1034: Added Required PropertyNamespace Location and SKU were always required, but not annotated correctly in Swagger. Rule 1048: AddedXmsEnumThe following three properties were modelled as string in Swagger, while they should be enums:
The implementation already accepted only values that are now defined in enum, and rejected the rest. Rule 1011: Adding Response CodeThe new swagger adds "default" response code with common Rule 1042: ChangedParameterOrderThe old Swagger version was inconsistent: the query, header and body parameters were mixed together.
Rule 1036: ConstraintChangedThe old Swagger did not define Rule 1029: ReadonlyPropertyChangedAll the properties were already read-only in the old implementation, but were not correctly annotated in the previous Swagger file. Rule 1023: TypeFormatChanged
Rule 1033: RemovedProperty
Rule 1006: RemovedDefinition
Rule 1003: RequestBodyFormatNoLongerSupportedThe previous Swagger defined global Rule 1005: RemovedPathThe paths still exist, but now we use correct camelCase names:
Rule 1025: RequiredStatusChangeThe properties were already required, but didn't have correct annotation in the Swagger. All requests without those properties failed. Rule 1026: TypeChanged
Rule 1047: XmsEnumChanged
Rule 1044: XmsLongRunningOperationChanged
|
…into feature/notificationHubs/2023-01-01-preview
@kmiecikt Please do not overwrite the standard comments on the pull request description with your own text , you need to carefully respond to the questions and update all the checkboxes in it otherwise automation will not work correctly. ALso For this PR have you added the previous version as a base commit as per the instructions ? |
Sorry, I did not follow the official guidelines and did not include the base version in the first commit - I discovered them after opening the PR. I used the Open API Hub to create a new PR: #24072. I'm closing this one. |
This PR adds a new preview API version for Notification Hubs RP -
2023-01-01-preview
. This version includes:x-ms-secret
annotationThe Pull Request all contains updated examples. All of the requests were invoked & verified.