Генерируйте свои swagger.json-ы, кладете их в папку public в корне репозитория.
Рядом кладете 2 файла:
Прописываете публикацию pages в gitlab-ci.yml
deploy-pages:
stage: deploy
pages: true # specifies that this is a Pages job
artifacts:
paths:
- public
Pros
- красиво
- не нужен доступ к репозиторию, чтобы поделиться документацией с коллегами
- документация всегда актуальна
Cons
- ссылку на документацию придется делать руками
P.S.: это не обязательно должен быть какой-то отдельный репозиторий с контрактами, можете в каждом репозитории, где есть swagger.json, сделать pages, а потом в документации конфлюенс вставить нужные ссылки на автоматически генерируемую доку.