本文介绍如何基于事件总线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端点的规则,将同步自动更新。
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的方式,传输到服务端进行认证。
Jenkins是一个基于Java开发的持续集成工具,主要用于持续、自动地构建和测试软件项目,以及监控外部任务的运行。下面,以Jenkins为例介绍如何使用事件总线EventBridge的API端点功能与Jenkins进行集成并触发构建部署。
前提条件
步骤一:添加API Token
登录Jenkins,在右上角点击您的账号。
在左侧导航栏,单击Configure,然后在API Token区域单击Add new Token。
在文本框中输入Token的名称,单击Generate。
Jenkins会自动生成密码串。单击图标,复制密码串并保存。
步骤二:创建Connection
- 登录事件总线EventBridge控制台,在左侧导航栏,选择 。
- 在顶部菜单栏,选择地域,然后单击连接配置页签。
在连接配置页签,单击创建,然后在创建连接配置面板,设置以下参数,完成后单击确定。
连接名称:设置Connection的名称。
连接描述:设置Connection的描述。
鉴权配置:选择Basic,用户名设置为Jenkins账号的用户名,密码设置为上文添加API Toke中保存的密码。
网络选择:默认选择公网。
步骤三:创建API端点
Connection创建完成后,单击API端点页签,然后单击创建。
在创建API端点面板,设置以下参数,然后单击确定。
在基础信息区域,将创建方式设置为自定义创建,然后设置API目标的名称和描述。
在API配置区域,将URL设置为Jenkins的API地址,本示例中使用
http://XX.XX.XX.XX:8080/job/test/build
来调用Jenkins工程构建,将HTTP Method设置为POST。在连接配置区域,点击选择已有,然后选择上文创建Connection中的Connection。
步骤四:创建自定义总线
在左侧导航栏,单击事件总线,然后在自定义事件总线区域单击快速创建。
在创建自定义事件总线面板,设置以下参数,然后单击创建。
在总线页签,设置自定义事件总线名称和描述,单击下一步。
在事件源页签,设置事件源名称和描述,选择事件提供方为自定义应用,单击下一步。
在规则页签,设置规则名称和描述,单击下一步。
在目标页签,设置以下参数。
服务类型:选择API触发。
创建方式:选择使用已有。
HTTP参数:设置事件推送给Jenkins时传递的参数及参数内容。
步骤五:发布事件
在事件总线页面,找到上文中创建的自定义事件总线,在其右侧操作栏单击发布事件。
在发布事件至自定义事件总线面板,选择自定义事件源为提前创建好的事件源,单击确认。
验证事件
回到Jenkins页面,单击上文创建API端点中URL定义的工程。
在Build History区域,单击最新的构建历史。
在左侧导航栏,单击Console Output查看日志详情。
可以看到Jenkins已经成功收到事件总线EventBridge发布的事件并启动构建工程。