-
Notifications
You must be signed in to change notification settings - Fork 5.1k
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
Face PersonDirectory argument type mismatch fix #21572
Conversation
Update the Person related operations in PersonDirectory to consume personId as GUID as opposed to string. The change adheres to the existing pattern for Person Group and Large Person Group, clarifies intended usage, and should reduce confusion from the current discrepancy between returned GUIDs in responses while the corresponding operation arguments are string.
Hi, @msyache 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. vscswagger@microsoft.com |
Swagger Validation Report
|
compared swaggers (via Oad v0.10.2)] | new version | base version |
---|---|---|
Face.json | v1.0-preview(c58cb72) | v1.0-preview(main) |
️️✔️
Breaking Change(Cross-Version) succeeded [Detail] [Expand]
There are no breaking changes.
️️✔️
CredScan succeeded [Detail] [Expand]
There is no credential detected.
️⚠️
LintDiff: 10 Warnings warning [Detail]
compared tags (via openapi-validator v2.0.0) | new version | base version |
---|---|---|
release_1_0_preview | release_1_0_preview(c58cb72) | release_1_0_preview(main) |
[must fix]The following errors/warnings are introduced by current PR:
Rule | Message | Related RPC [For API reviewers] |
---|---|---|
Avoid the use of x-nullable. Location: Face/preview/v1.0-preview/Face.json#L5240 |
||
Avoid the use of x-nullable. Location: Face/preview/v1.0-preview/Face.json#L5256 |
||
Avoid the use of x-nullable. Location: Face/preview/v1.0-preview/Face.json#L5272 |
||
Avoid the use of x-nullable. Location: Face/preview/v1.0-preview/Face.json#L5293 |
||
Avoid the use of x-nullable. Location: Face/preview/v1.0-preview/Face.json#L5309 |
||
Avoid the use of x-nullable. Location: Face/preview/v1.0-preview/Face.json#L5316 |
||
Avoid the use of x-nullable. Location: Face/preview/v1.0-preview/Face.json#L5371 |
||
Avoid the use of x-nullable. Location: Face/preview/v1.0-preview/Face.json#L5396 |
||
Avoid the use of x-nullable. Location: Face/preview/v1.0-preview/Face.json#L5423 |
||
Avoid the use of x-nullable. Location: Face/preview/v1.0-preview/Face.json#L5434 |
The following errors/warnings exist before current PR submission:
Only 30 items are listed, please refer to log for more details.
Rule | Message |
---|---|
HostParametersValidation |
The host parameter must be called 'endpoint'. Location: Face/preview/v1.0-preview/Face.json#L24 |
HostParametersValidation |
The host parameter must be typed 'type 'string', format 'url''. Location: Face/preview/v1.0-preview/Face.json#L24 |
OperationIdNounVerb |
Per the Noun_Verb convention for Operation Ids, the noun 'Face' 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: Face/preview/v1.0-preview/Face.json#L162 |
IntegerTypeMustHaveFormat |
The integer type does not have a format, please add it. Location: Face/preview/v1.0-preview/Face.json#L261 |
IntegerTypeMustHaveFormat |
The integer type does not have a format, please add it. Location: Face/preview/v1.0-preview/Face.json#L718 |
IntegerTypeMustHaveFormat |
The integer type does not have a format, please add it. Location: Face/preview/v1.0-preview/Face.json#L1213 |
IntegerTypeMustHaveFormat |
The integer type does not have a format, please add it. Location: Face/preview/v1.0-preview/Face.json#L1670 |
IntegerTypeMustHaveFormat |
The integer type does not have a format, please add it. Location: Face/preview/v1.0-preview/Face.json#L1983 |
IntegerTypeMustHaveFormat |
The integer type does not have a format, please add it. Location: Face/preview/v1.0-preview/Face.json#L2219 |
OperationIdNounVerb |
Per the Noun_Verb convention for Operation Ids, the noun 'Face' 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: Face/preview/v1.0-preview/Face.json#L3400 |
IntegerTypeMustHaveFormat |
The integer type does not have a format, please add it. Location: Face/preview/v1.0-preview/Face.json#L4394 |
IntegerTypeMustHaveFormat |
The integer type does not have a format, please add it. Location: Face/preview/v1.0-preview/Face.json#L4539 |
XmsEnumValidation |
The enum types should have x-ms-enum type extension set with appropriate options. Location: Face/preview/v1.0-preview/Face.json#L5327 |
IntegerTypeMustHaveFormat |
The integer type does not have a format, please add it. Location: Face/preview/v1.0-preview/Face.json#L5677 |
API version should be a date in YYYY-MM-DD format, optionally suffixed with '-preview'. Location: Face/preview/v1.0-preview/Face.json#L4 |
|
Security definition should have a description. Location: Face/preview/v1.0-preview/Face.json#L9 |
|
Operation does not define an 'api-version' query parameter. Location: Face/preview/v1.0-preview/Face.json#L34 |
|
Schema with type: integer should specify format Location: Face/preview/v1.0-preview/Face.json#L41 |
|
Error response should contain a x-ms-error-code header. Location: Face/preview/v1.0-preview/Face.json#L59 |
|
The error property in the error response schema should be required.Location: Face/preview/v1.0-preview/Face.json#L61 |
|
Error schema should define code and message properties as required.Location: Face/preview/v1.0-preview/Face.json#L61 |
|
Operation might be pageable. Consider adding the x-ms-pageable extension. Location: Face/preview/v1.0-preview/Face.json#L74 |
|
Operation does not define an 'api-version' query parameter. Location: Face/preview/v1.0-preview/Face.json#L77 |
|
Error response should contain a x-ms-error-code header. Location: Face/preview/v1.0-preview/Face.json#L102 |
|
The error property in the error response schema should be required.Location: Face/preview/v1.0-preview/Face.json#L104 |
|
Error schema should define code and message properties as required.Location: Face/preview/v1.0-preview/Face.json#L104 |
|
Operation does not define an 'api-version' query parameter. Location: Face/preview/v1.0-preview/Face.json#L120 |
|
Schema with type: number should specify format Location: Face/preview/v1.0-preview/Face.json#L127 |
|
Schema with type: integer should specify format Location: Face/preview/v1.0-preview/Face.json#L127 |
|
Error response should contain a x-ms-error-code header. Location: Face/preview/v1.0-preview/Face.json#L145 |
️️✔️
Avocado succeeded [Detail] [Expand]
Validation passes for Avocado.
️️✔️
ApiReadinessCheck succeeded [Detail] [Expand]
️⚠️
~[Staging] ServiceAPIReadinessTest: 0 Warnings warning [Detail]
API Test is not triggered due to precheck failure. Check pipeline log for details.
️️✔️
~[Staging] SwaggerAPIView 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.
️️✔️
PR Summary succeeded [Detail] [Expand]
Validation passes for Summary.
Swagger pipeline restarted successfully, please wait for status update in this comment. |
Swagger pipeline restarted successfully. If there is ApiView generated, it will be updated in this comment. |
Hi @msyache, 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. |
Breaking change intake: https://msazure.visualstudio.com/One/_workitems/edit/16325220 |
@@ -5218,7 +5236,8 @@ | |||
"properties": { | |||
"personId": { | |||
"format": "uuid", | |||
"type": "string" | |||
"type": "string", | |||
"x-nullable": false |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Since x-nullable:false
is the default, can you please remove it.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I had to explicitly add it in order for AutoRest to generate a property without nullable--we needed type Guid instead of Guid? there.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I see. No need to block on this then but that seems weird.
@mikekistler do you know if this is a bug in the C# codegen?
* Fix Face PersonDirectory argument type mismatch Update the Person related operations in PersonDirectory to consume personId as GUID as opposed to string. The change adheres to the existing pattern for Person Group and Large Person Group, clarifies intended usage, and should reduce confusion from the current discrepancy between returned GUIDs in responses while the corresponding operation arguments are string. * Fix person request type * Fix AddPersonFace missing url in json
* Fix Face PersonDirectory argument type mismatch Update the Person related operations in PersonDirectory to consume personId as GUID as opposed to string. The change adheres to the existing pattern for Person Group and Large Person Group, clarifies intended usage, and should reduce confusion from the current discrepancy between returned GUIDs in responses while the corresponding operation arguments are string. * Fix person request type * Fix AddPersonFace missing url in json
Data Plane API - Pull Request
Update the Person related operations in PersonDirectory to consume personId as GUID as opposed to string.
The change adheres to the existing pattern for Person Group and Large Person Group, clarifies intended usage, and should reduce confusion from the current discrepancy between returned GUIDs in responses while the corresponding operation arguments are string.
API Info: The Basics
Most of the information about your service should be captured in the issue that serves as your engagement record.
Is this review for (select one):
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 Open API document (swagger) if applicable, and the root paths that have been updated.
❔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.
Click here for links to tools, specs, guidelines & other good stuff
Tooling
Guidelines & Specifications
Helpful Links