@kyanny's blog

革命は金銭ではない - 孫文

GitLab は OpenAPI (Swagger) の YAML/JSON ファイルビューアが組み込まれている

bookwor.ms

二年前に提案されて、七ヶ月前にマージされ、 GitLab 12.6 のリリースに含まれたようだ。

ファイル名が (swagger|openapi).(yml|yaml|json) みたいなパターンにマッチすれば OpenAPI 3 ドキュメントとしてレンダリングしてくれるようだ。

実装は、 swagger-ui-distSwaggerUIBundle に YAML/JSON ファイルの URL を食わせているだけ。

実際に GitLab に置いてみたら本当にちゃんとレンダリングされた。

f:id:a666666:20200806012722p:plain

同じファイルを GitHub に置いてもレンダリングしてくれない。

f:id:a666666:20200806012743p:plain

GitLab CI で Swagger/OpenAPI の YAML/JSON をビルドして HTML を Pages に公開する方法は検索するといくつか出てきた。同じことは GitHub Actions + GitHub Pages でもできるだろう。

GitLab の組み込みビューアは認証が必要な領域内で完結する点が優れている。外部に公開したくない API ドキュメントを手軽にホストできる。