Azure / Azure/openapi-diff

False positivizes and undetailed errors for RequiredStatusChange

Đang mở
#288 0 bình luận 0 reaction 0 người được giao Xem trên GitHub
Ngôn ngữ chính
C#
Star
290
Fork
50
Merge trung bình
5 ngày 13 giờ
Pull request đã merge (30 ngày)
5

Mô tả

I'm working on https://github.com/Azure/azure-rest-api-specs-pr/pull/15631 and there are some `required` differences reported between the old API version and the generated from TypeSpec version regarding `properties`. The errors are not very accurate. They should say what required values changes. Many look to be false positives.

``` nushell
~/ms/azure-rest-api-specs-pr> open breaking-changes.json | where code == RequiredStatusChange | select message old.path | to md
```

|message|old_path||
|-|-|-|
|The 'required' status changed from the old version('False') to the new version('True').|definitions.PrivateCloudList.properties|New list has `"required": ["value"]`|
|The 'required' status changed from the old version('True') to the new version('False').|definitions.PrivateCloud.properties|Neither has required.|
|The 'required' status changed from the old version('True') to the new version('False').|definitions.ManagementCluster.properties|Neither has required.|
|The 'required' status changed from the old version('False') to the new version('True').|definitions.PrivateCloudIdentity.properties||
|The 'required' status changed from the old version('False') to the new version('True').|definitions.ClusterList.properties||
|The 'required' status changed from the old version('True') to the new version('False').|definitions.Cluster.properties|Neither has required.|
|The 'required' status changed from the old version('False') to the new version('True').|definitions.DatastoreList.properties||
|The 'required' status changed from the old version('False') to the new version('True').|definitions.HcxEnterpriseSiteList.properties||
|The 'required' status changed from the old version('False') to the new version('True').|definitions.ExpressRouteAuthorizationList.properties||
|The 'required' status changed from the old version('False') to the new version('True').|definitions.GlobalReachConnectionList.properties||
|The 'required' status changed from the old version('False') to the new version('True').|definitions.WorkloadNetworkList.properties||
|The 'required' status changed from the old version('False') to the new version('True').|definitions.WorkloadNetworkSegmentsList.properties||
|The 'required' status changed from the old version('False') to the new version('True').|definitions.WorkloadNetworkDhcpList.properties||
|The 'required' status changed from the old version('False') to the new version('True').|definitions.WorkloadNetworkGatewayList.properties||
|The 'required' status changed from the old version('False') to the new version('True').|definitions.WorkloadNetworkPortMirroringList.properties||
|The 'required' status changed from the old version('False') to the new version('True').|definitions.WorkloadNetworkVMGroupsList.properties||
|The 'required' status changed from the old version('False') to the new version('True').|definitions.WorkloadNetworkVirtualMachinesList.properties||
|The 'required' status changed from the old version('False') to the new version('True').|definitions.WorkloadNetworkDnsServicesList.properties||
|The 'required' status changed from the old version('False') to the new version('True').|definitions.WorkloadNetworkDnsZonesList.properties||
|The 'required' status changed from the old version('False') to the new version('True').|definitions.WorkloadNetworkPublicIPsList.properties||
|The 'required' status changed from the old version('False') to the new version('True').|definitions.CloudLinkList.properties||
|The 'required' status changed from the old version('False') to the new version('True').|definitions.AddonList.properties||
|The 'required' status changed from the old version('False') to the new version('True').|definitions.VirtualMachinesList.properties||
|The 'required' status changed from the old version('False') to the new version('True').|definitions.PlacementPoliciesList.properties||
|The 'required' status changed from the old version('False') to the new version('True').|definitions.ScriptPackagesList.properties||
|The 'required' status changed from the old version('False') to the new version('True').|definitions.ScriptCmdletsList.properties||
|The 'required' status changed from the old version('False') to the new version('True').|definitions.ScriptExecutionsList.properties||
|The 'required' status changed from the old version('False') to the new version('True').|definitions.TrackedResource.properties||

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Hướng nghiên cứu

Start by reproducing the RequiredStatusChange entries shown in breaking-changes.json through the openapi-diff command-line tool, then trace the comparison logic that produces those messages. Done means the reported required-value changes are accurate and the listed false positives no longer appear.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Công nghệ
csharp, openapi
Lĩnh vực
cli, tooling
Loại issue
Lỗi
Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức độ hoạt động
Đình trệ
Độ rõ ràng
Cần làm rõ
Mức phù hợp với người mới
30/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.