Automation Pipelines 提供一个 REST 插件,借助该插件可以将 Automation Pipelines 与使用 REST API 的其他应用程序集成,以便持续开发并交付必须相互交互的软件应用程序。该 REST 插件调用一个 API,后者在 Automation Pipelines 与其他应用程序之间发送和接收信息。
借助该 REST 插件,您可以:
- 将基于 REST API 的外部系统集成到 Automation Pipelines 管道中。
- 将 Automation Pipelines 管道集成到外部系统的流程中。
该 REST 插件可与任何 REST API 配合工作,并且支持使用 GET、POST、PUT、PATCH 和 DELETE 方法在 Automation Pipelines 与其他应用程序之间发送或接收信息。
表 1.
准备管道以通过 REST API 进行通信
| 执行的操作 |
结果 |
| 向管道添加 REST 任务。 |
该 REST 任务在应用程序之间传递信息,并且提供管道阶段中某个连续任务的状态信息。 |
| 在 REST 任务中,选择 REST 操作并包含 URL。 |
当管道运行时,管道任务将调用该 URL。 对于 POST、PUT 和 PATCH 操作,必须包含负载。在负载中,可以在管道运行时将管道与任务属性相绑定。 |
| 考虑此示例。 |
REST 插件的示例用法: 可以添加 REST 任务以获取后续管道任务所需的信息。 |
与使用 REST 插件来调用 API 一样,可以在管道中包含 Poll 任务以调用并轮询某个 REST API,直到它完成并且管道任务满足退出条件为止。请参见Automation Pipelines 中提供哪些类型的任务。
还可以使用 REST API 导入和导出管道,以及使用示例脚本运行管道。
在此过程中,REST 任务从一个服务获取构建标记,后续 CI 任务使用该构建标记获取 CICD 构建号。
过程
- 要创建管道,请单击。
- 在管道阶段中,单击 + 连续任务。
- 在任务窗格中,添加 REST 任务:
- 输入任务的名称。
- 在“类型”下拉菜单中,选择 REST。
- 在“REST 请求”区域,选择 GET。
要让 REST 任务从其他应用程序请求数据,请选择 GET 方法。要向其他应用程序发送数据,请选择 POST 方法。
- 输入标识用于获取构建标记的 REST API 端点的 URL。例如:
https://devops.mycompany.com:8001/job/service-build/api/json
注:
Automation Pipelines 不支持对
/ 使用
%2F 作为 URL 编码,例如:
https://gitlab.com/api/v4/projects/1234567/repository/files/FOLDERNAME%2Ftest.yaml
指定 REST API 端点时,请使用基本 URL 格式,例如:
https://gitlab.com/api/v4/projects/1234567/repository/files/FOLDERNAME/test.yaml
要使 REST 任务从其他应用程序导入数据,可以包含负载变量。例如,对于导入操作,可以输入
${Stage0.export.responseBody}。如果响应数据大小超过 5 MB,REST 任务可能会失败。
使用机密变量可隐藏和加密敏感信息。可以对必须隐藏和加密以及限制在执行中使用的字符串、密码和 URL 使用受限制变量。例如,对密码或 URL 使用机密变量。可以在管道的任何类型的任务中使用机密变量和受限制变量。
- 要为任务提供授权,请单击添加标头,然后输入标头键和值,例如:
| Key |
值 |
| 接受 |
application/json |
| Content-Type |
application/json |
- 添加使用 REST 任务响应中信息的后续任务。
- 要保存管道,请单击保存。
- 在“管道”选项卡中,单击启用管道。
- 单击保存,然后单击关闭。
- 单击运行。
- 要监视管道的运行状况,请单击执行。
- 要验证 REST 任务是否返回预期信息,请检查管道执行和任务结果。
- 管道完成后,要确认其他应用程序返回了所请求的数据,请单击管道执行的链接。
- 单击管道中的 REST 任务。
- 在管道执行中,单击相关任务,查看任务详细信息,并验证 REST 任务是否返回了预期结果。
任务详细信息显示响应代码、正文、标头键和值。
- 要查看 JSON 输出,请单击查看输出 JSON。
结果
恭喜!您已配置了一个 REST 任务,该任务调用 REST API 并使用 REST 插件在 Automation Pipelines 与其他应用程序之间发送信息。
下一步做什么
继续在管道中使用 REST 任务运行命令并将 Automation Pipelines 与其他应用程序集成,以便开发并交付软件应用程序。可以考虑使用 Poll 任务对 API 进行轮询直到完成,并且管道任务满足退出条件。