- 《架构世界》2020DevOps刊:DevOps实践指南
- 普元信息
- 915字
- 2020-11-18 15:22:32
. 平台第三方服务集成示例
平台集成 过程大体可以分为以上 个步骤,先要做的是了解 的 接口,看一下身份认证方式是通过 还是 等, 的接口有很多我们是不需要的,此时我们就需要看 模板需要哪些,不需要哪些,将需要的接口整理出来,并研究它们的 和 的格式,验证接口是否可以正确调通,接口通了,我们得到了需要的数据,但是数据格式跟 的模板不符,我们就要进行最后一步,将所得数据映射到 模板就大功告成了。
)研究 接口
接口我们可以直接从官网的相关文档查阅,按照官方的说明,自 . 起, 是首选使用的版本。 年 月 日发布的 . 不支持 。在 . 中删除了 ,就是说 版本起 不再支持 版本的 ,所以我们在集成 的时候就要考虑集成两个版本的 。

)筛选 平台所需的接口
平台集成 仅需要应用到 的部分接口,如代码库的增删改查,分支、标签的增删改查等,过滤去无用的接口,并以查询分支接口举例。
可见,该请求的身份认证方式是通过
实现的,返回的数据格式如图显示:
而
代码分支模板如下图展示,所以要再做一次映射:
)将返回数据填入 模板并展示
此为集成成功后的
代码库在 平台中的展示界面,用户可以在此查看代码库的文件内容,分支、标签信息,也可以对比不同分支或标签的差异:因为
的接口设计比较特殊,在使用它的 接口来实现集成时遇到了种种问题,故改用了直接操作 数据库来实现服务集成的方法。大体步骤是先研究 的表结构,然后与 相应表做对照,然后做 服务端多数据源实现,直接从 数据库读取数据,映射到 的模板并展示给用户。)研究 表结构&将 表数据映射至 模板
以
的 _ 表举例,如图是禅道的需求表结构:
下图是
工作项模板:
要想在
平台中展示 的需求信息,还要做一次数据映射,集成时,需要先设计 平台的服务端多数据源实现,就是定义一个 的 实现,同时, 的数据库需要用户来配置,解决方案 :用户可以在配置文件中配置 的数据库地址以及账号密码;解决方案 :用户可以在服务集成处配置 的数据库信息;两种方式的 层实现也是有差异的。下面展示方案 的 部分实现:
)数据展示
成功集成后的任务模块展示如图,用户可以在该界面进行任务、需求、
的增删改查