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 构建号。

过程

  1. 要创建管道,请单击管道 > 新建管道 > 空白画布
  2. 在管道阶段中,单击 + 连续任务
  3. 在任务窗格中,添加 REST 任务:
    1. 输入任务的名称。
    2. 在“类型”下拉菜单中,选择 REST
    3. 在“REST 请求”区域,选择 GET
      要让 REST 任务从其他应用程序请求数据,请选择 GET 方法。要向其他应用程序发送数据,请选择 POST 方法。
    4. 输入标识用于获取构建标记的 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 任务可能会失败。
    5. 要为任务提供授权,请单击添加标头,然后输入标头键和值,例如:
      Key
      接受 application/json
      Content-Type application/json
    添加 REST 任务并配置 REST 请求时,选择操作,输入 URL,并为授权添加任何标头。
  4. 添加使用 REST 任务响应中信息的后续任务。
  5. 要保存管道,请单击保存
  6. 在“管道”选项卡中,单击启用管道
    必须先启用管道,然后才能运行管道。
  7. 单击保存,然后单击关闭
  8. 单击运行
  9. 要监视管道的运行状况,请单击执行
    管道开始运行后,可以在管道运行时观察管道状态。
  10. 要验证 REST 任务是否返回预期信息,请检查管道执行和任务结果。
    1. 管道完成后,要确认其他应用程序返回了所请求的数据,请单击管道执行的链接。
    2. 单击管道中的 REST 任务。
    3. 在管道执行中,单击相关任务,查看任务详细信息,并验证 REST 任务是否返回了预期结果。
      任务详细信息显示响应代码、正文、标头键和值。
      REST 任务详细信息显示“已完成”状态、响应代码、响应正文以及标头键和值。
  11. 要查看 JSON 输出,请单击查看输出 JSON
    REST 任务的 JSON 输出显示响应标头和响应正文,并包含用于搜索内容的路径查找器。

结果

恭喜!您已配置了一个 REST 任务,该任务调用 REST API 并使用 REST 插件在 Automation Pipelines 与其他应用程序之间发送信息。

下一步做什么

继续在管道中使用 REST 任务运行命令并将 Automation Pipelines 与其他应用程序集成,以便开发并交付软件应用程序。可以考虑使用 Poll 任务对 API 进行轮询直到完成,并且管道任务满足退出条件。