Continuous integration 如何成功地将API文档集成到构建过程中

Continuous integration 如何成功地将API文档集成到构建过程中,continuous-integration,swagger,documentation,openapi,Continuous Integration,Swagger,Documentation,Openapi,我们一直在寻找解决方案,以保持API文档的准确性和最新性。这让我陷入了各种解决方案的兔子洞,使用OpenAPI等标准和一整套开源工具将API文档集成到构建管道中,设置模拟服务器,在API更改或不再匹配文档时失败构建,等等。现在,我相当不知所措,所以为了避免这个问题以“过于宽泛”而结束,我想把问题缩小到我有点迷茫的谜题的关键部分。简单来说,如何将自动生成的Swagger JSON连接到规范的完整文档和详细版本(很可能是一堆YAML文件和标记文件) 现在,我们可以基于编译的代码生成Swagger J

我们一直在寻找解决方案,以保持API文档的准确性和最新性。这让我陷入了各种解决方案的兔子洞,使用OpenAPI等标准和一整套开源工具将API文档集成到构建管道中,设置模拟服务器,在API更改或不再匹配文档时失败构建,等等。现在,我相当不知所措,所以为了避免这个问题以“过于宽泛”而结束,我想把问题缩小到我有点迷茫的谜题的关键部分。简单来说,如何将自动生成的Swagger JSON连接到规范的完整文档和详细版本(很可能是一堆YAML文件和标记文件)

现在,我们可以基于编译的代码生成Swagger JSON,但它是稀疏的,不包含任何无法通过代码本身获得的信息。显然,我想填写详细信息,例如每个API的较长描述、示例代码等。据我所知,标准做法是使用可直接从Swagger导入的工具生成OpenAPI规范,然后使用编辑器(如)填写所有详细信息。这被捆绑成一堆YAML文件、MD文件等,这些文件被签入Github,然后有各种工具可以将它们构建到某个门户中供用户访问(Redoc做这类事情)


然而,如何将对原始“自动生成的JSON”的更改合并到“最终产品”中?我猜可能会有一些构建步骤,运行某种差异工具,将当前构建中自动生成的JSON与“已发布”的OpenAPI规范进行比较,然后以某种方式通知团队是否有需要记录的新API或已更改并需要更新文档的现有API。这是在轨道上还是有一个很大的部分我错过了。谢谢

嗨!很好的问题。我的问题:如何生成Swagger JSON?@PirrenCode-我们使用一个名为Hi的库!很好的问题。我的问题:如何生成Swagger JSON?@PirrenCode-我们使用一个名为