本文介绍如何基于事件总线EventBridge的API端点和Jenkins监控源进行集成对接。

背景信息

API端点(API Destinations)可以帮助您调用第三方SaaS系统或自建系统的HTTP接口,提供低代码接入方式,无需更多额外架构即可完成接口调用。借助API端点,您可以轻松构建和对接SaaS应用,打通数据孤岛。同时多个API可共用一套连接配置(Connection),提供便捷、可插拔的鉴权能力。

第三方SaaS系统或自建系统等服务中的API包含了API端点和Connection两部分信息。

API端点定义了API的元数据,您在创建事件规则时可以引用不同的API端点以访问不同的第三方SaaS系统或自建系统,不同规则也可以引用同一个API端点。多个规则向同一个目标服务API进行事件投递时,在没有API端点之前,一旦需要修改某个参数,需要修改所有的规则,但如果将目标服务的API定义成API端点,那么只需要修改API端点的配置,则所有引用这个API端点的规则,将同步自动更新。

API端点2
Connection主要用于实现外部服务与当前API端点的连通性。Connection中包含两部分内容:首先是网络配置,即外部服务与当前API端点之间是通过公网还是私网进行连接。其次,Connection中还包含了鉴权配置信息。事件总线EventBridge选取了目前最常用的三种鉴权方式:Basic Auth、OAuth和API Key。
  • Basic Auth(基本身份验证):使用时用户名和密码需要经过验证才能访问数据资源。用户名和密码会被base64编码并加上Basic空格前缀,一起发送到目标服务。目标服务端进行解码并认证通过后,会响应事件总线EventBridge的请求,如果认证失败,则直接打回。
  • OAuth(开放授权):一种更加安全可靠的授权认证方式。OAuth有四种授权方式,分别是授权码、隐藏式、密码式和客户端凭证。在事件驱动场景中,常用到的是客户端凭证授权方式。在这种模式下,您需要在事件总线EventBridge配置获取客户端凭证所需要的一些信息,包括OAuthService地址、客户端ID、客户端密码等,事件总线EventBridge支持GET/POST两种方式,去获取客户端凭证。
  • API Key:一种比较简单的认证方式。用户可以自定义API访问的KeyName和KeyValue。事件总线EventBridge会将其通过HttpHeader的方式,传输到服务端进行认证。
API端点

Jenkins是一个基于Java开发的持续集成工具,主要用于持续、自动地构建和测试软件项目,以及监控外部任务的运行。下面,以Jenkins为例介绍如何使用事件总线EventBridge的API端点功能与Jenkins进行集成并触发构建部署。

前提条件

步骤一:添加API Token

  1. 登录Jenkins,在右上角点击您的账号。
  2. 在左侧导航栏,单击Configure,然后在API Token区域单击Add new Token
    Add new Token
  3. 在文本框中输入Token的名称,单击Generate
    Jenkins会自动生成密码串。单击复制图标,复制密码串并保存。复制密码

步骤二:创建Connection

  1. 登录事件总线EventBridge控制台,在左侧导航栏,选择集成中心 > API端点
  2. 在顶部菜单栏,选择地域,然后单击连接配置页签。
  3. 连接配置页签,单击创建,然后在创建连接配置面板,设置以下参数,完成后单击确定
    • 连接名称:设置Connection的名称。
    • 连接描述:设置Connection的描述。
    • 鉴权配置:选择Basic用户名设置为Jenkins账号的用户名,密码设置为上文添加API Toke中保存的密码。
    • 网络选择:默认选择公网

步骤三:创建API端点

  1. Connection创建完成后,单击API端点页签,然后单击创建
  2. 创建API端点面板,设置以下参数,然后单击确定
    1. 基础信息区域,将创建方式设置为自定义创建,然后设置API目标的名称和描述。
    2. API配置区域,将URL设置为Jenkins的API地址,本示例中使用http://localhost:8080/job/test/build来调用Jenkins工程构建,将HTTP Method设置为POST
    3. 连接配置区域,点击选择已有,然后选择上文创建Connection中的Connection。

步骤四:创建自定义总线

  1. 在左侧导航栏,单击事件总线,然后在自定义事件总线区域单击快速创建
  2. 创建自定义事件总线面板,设置以下参数,然后单击创建
    1. 总线页签,设置自定义事件总线名称描述,单击下一步
    2. 事件源页签,设置事件源名称描述,选择事件提供方自定义应用,单击下一步
    3. 规则页签,设置规则名称描述,单击下一步
    4. 目标页签,设置以下参数。
      • 服务类型:选择API触发
      • 创建方式:选择使用已有
      • HTTP参数:设置事件推送给Jenkins时传递的参数及参数内容。

步骤五:发布事件

  1. 事件总线页面,找到上文中创建的自定义事件总线,在其右侧操作栏单击发布事件
  2. 发布事件至自定义事件总线面板,选择自定义事件源为提前创建好的事件源,单击确认

验证事件

  1. 回到Jenkins页面,单击上文创建API端点中URL定义的工程。
  2. Build History区域,单击最新的构建历史。
    查看历史
  3. 在左侧导航栏,单击Console Output查看日志详情。
    查看日志
    可以看到Jenkins已经成功收到事件总线EventBridge发布的事件并启动构建工程。