Wychwytuj zmiany łamiące zgodność
Wychwyć zmiany łamiące zgodność, zanim trafią na produkcję
Parametr usunięty w jednym pull requeście to awaria klienta w następnym wydaniu. Wychwyć zmianę, która psuje klienta, w wymaganym sprawdzeniu CI, zanim zostanie scalona.
- Bramka w każdym pull requeście
apigenie diffkończy się kodem 1 przy zmianie łamiącej zgodność, więc sprawdzenie CI, które go uruchamia, zatrzymuje pull request usuwający pole lub zawężający parametr. - O tym, co łamie zgodność, decydują Twoi klienciOpenAPI, Swagger 2.0, AsyncAPI, Protobuf i GraphQL są porównywane według tego, od czego zależą ich klienci, a wagi zmian możesz ustawić sam.
- Changelog, którego nie piszesz
apigenie changelogbuduje changelog API z historii Git jego pliku, per commit lub per wydanie, z oceną każdej zmiany.
Usunięty parametr, wychwycony
Każda zmiana jest oceniana według tego, co robi klientowi. Kod wyjścia to 1, gdy choć jedna łamie zgodność, a --formatter json daje skryptowi ten sam raport.
$ git show main:openapi.yaml > main.yaml
$ apigenie diff main.yaml openapi.yaml
openapi.yaml
26 7 non-breaking Added operation DELETE /orders/{orderId}
10 7 breaking Modified operation GET /orders/{orderId}
10 7 breaking Removed parameter expand in query
$ echo $?
1Co obejmuje
- Dwie wersje porównane
apigenie diff: zmiany jako changelog, status lub szczegółowy raport. - Changelog z Gita
apigenie changelog: historia API, per commit lub per wydanie. - Daj klientom czas na migrację
apigenie evolveplanuje najpierw zgodne dodania, a usunięcia po terminie migracji (eksperymentalne). - Konfigurowalne wagiZdecyduj, które zmiany łamią zgodność Twoich klientów, osobno dla każdego standardu.
- W pull requestachGitHub Action porównuje każdy plik z bazą pull requesta.
- W edytorzePanel Changes ocenia tak samo zmiany od ostatniego zapisu.
Narzędzie, które to robi
Krok po kroku (przewodnik po angielsku)
Catch breaking changes in CI: Fail the pull request that would break your clients, retire old operations on a schedule, and keep a changelog from git.
Jedno sprawdzenie, wymagane w każdym pull requeście
GitHub Action porównuje każdy zmieniony plik z jego wersją na gałęzi bazowej, a przewodnik pokazuje, jak uczynić sprawdzenie wymaganym, żeby zmiana łamiąca zgodność czekała na decyzję zamiast się scalić.