如何在 CI 流程中使 Postman 集合和测试与 swagger/open api 规范和 git 保持同步

问题描述 投票:0回答:2

我们正在研究是否可以将 Postman Test Runner 和 Newman 合并到我们的 Jenkins CI 服务器的 API 测试流程中。

我的问题是这样的:一旦我将 swagger/Open API 文件导入 Postman 集合中,如何保持多个团队成员的更改同步?

例如,如果团队成员向 swagger 文件添加新的 api 端点,我们是否必须将 swagger 文件重新导入到邮递员集合中并覆盖它? 我们希望继续使用 swagger 文件作为唯一的事实来源,因此希望使其与邮递员集合保持同步。 理想情况下,我们会更新 swagger 文件,将其提交到 git 并将其更改同步到 postman。

在邮递员中创建的测试怎么样? 有没有办法将其检查到 git 中? 我们是否必须在每次测试更改后导出集合并将其检查到 git 中,并在每次 git pull 后重新导入对 postman 集合的更改?

看起来因为一些在线邮递员功能是为了共享而构建的 - 这个想法是您可以直接在邮递员客户端中对集合进行更改,然后将其共享给其他邮递员客户端? 如果是这样,是否可以添加一个钩子来自动将这些更改同步到 git?

swagger postman postman-collection-runner
2个回答
1
投票

按顺序回答您的问题:

一旦我将 swagger/open api 文件导入到邮递员集合中,如何 我可以同步多个团队成员的更改吗?

为了使您的收藏保持同步,每个人都需要登录并使用团队工作区。 从 Postman 6.2 开始,单个团队工作空间现在是免费的。 https://www.getpostman.com/docs/v6/postman/workspaces/intro_to_workspaces

例如,如果团队成员向 swagger 文件添加新的 api 端点,我们是否必须将 swagger 文件重新导入到 postman 集合中并覆盖它?

取决于您生成文件的方式。 如果它是使用运行时工具(例如 NSwag、Swashbuckle)生成的,那么您很可能最终需要覆盖该文件。 如果您的团队直接维护 swagger.json,您可以修改 Postman 提供的脚本以使您的定义与 Postman 保持同步:http://blog.getpostman.com/2018/03/02/sync-your -规格/

在邮递员中创建的测试怎么样?有没有办法将其检查到 git 中?

是的。 您可以导出包含测试的 Postman 集合并将其签入 Git。

如果是这样,是否可以添加一个钩子来自动将这些更改同步到 git?

在这里回答了。


0
投票

尝试使用此工具自动将您的 swagger 与邮递员同步,一旦 swagger 发生更改,它会检查并生成包含更新和所有测试的新集合

https://github.com/BlazinArtemis/postman-swagger-automatic-sync

© www.soinside.com 2019 - 2024. All rights reserved.