EventBridge の API 宛先を使用すると、カスタムミドルウェアや追加のインフラストラクチャを必要とせずに、イベントルールからサードパーティ製またはセルフマネージドなシステムの HTTP エンドポイントを直接呼び出すことができます。これにより、SaaS アプリケーションへの容易な構築・接続が可能になり、データサイロの発生を防止できます。Jenkins は Java ベースの継続的インテグレーション(CI)ツールであり、ソフトウェアプロジェクトの継続的かつ自動的なビルド・テスト、および外部タスクのステータス監視に利用できます。本ガイドでは、EventBridge と Jenkins を連携させ、公開されたイベントが自動的に Jenkins ビルドをトリガーするように設定する手順について説明します。
仕組み
API 宛先は、HTTP 呼び出しに関するメタデータ(URL、HTTP メソッド、リクエストパラメーター)を定義します。一方、接続はその呼び出しに必要な認証情報およびネットワーク設定を格納します。これらを組み合わせることで、任意のイベントルールから参照可能な再利用可能な統合ポイントが形成されます。

イベントがルールと一致すると、EventBridge は関連付けられた接続から取得した認証情報を用いて、API 宛先に対して HTTP リクエストを送信します。本ガイドでは、EventBridge が基本認証(Basic authentication)を用いて Jenkins のビルド API を呼び出し、プロジェクトのビルドを開始します。
基本概念
| 概念 | 説明 |
|---|---|
| API 宛先 | イベントルールがターゲットとして呼び出す HTTP エンドポイントのメタデータ(URL、メソッド、パラメーター)。複数のイベントルールから同一の API 宛先を参照できます。API 宛先を更新すると、それを使用するすべてのルールに変更が自動的に反映されます。 |
| 接続 | 複数の API 宛先間で共有される再利用可能な認証およびネットワーク構成。ネットワーク構成では、システムがインターネット経由かプライベートネットワーク経由かを指定します。接続を一度変更すれば、関連付けられたすべての API 宛先がその更新を継承します。 |
| イベントルール | 着信イベントを照合し、1 つ以上のターゲットへルーティングします |
サポートされる認証方式
| 方式 | 動作概要 |
|---|---|
| 基本認証(Basic authentication) | username:password を Base64 エンコードした文字列を、Authorization ヘッダー内に Basic |
| OAuth 認証 | 認証コード、暗黙的認証コード、パスワード、またはクライアント資格情報(client credential)を用いてサードパーティアプリケーションを承認できます。イベント駆動型のシナリオでは、クライアント資格情報が一般的に使用されます。クライアント ID、クライアントパスワード、および OAuth サービスの IP アドレスを設定してクライアント資格情報を取得します。トークンの取得には GET および POST がサポートされます |
| API キー | HTTP ヘッダー内にカスタムのキー名と値を送信します |
本ガイドでは、Jenkins の API トークンを用いた基本認証を使用します。OAuth 認証および API キー認証にも同様のワークフローが適用されますが、接続の構成のみが異なります。
前提条件
開始する前に、以下の条件を満たしていることを確認してください。
Jenkins のインストール(ガイド付きツアーによる入門)
Jenkins の 通知(Notification) プラグインのインストール
ステップ 1:Jenkins API トークンの生成
Jenkins にログインし、右上隅にあるアカウント名をクリックします。
左側のナビゲーションウィンドウで、構成 をクリックします。
[API Token] セクションで、[新しいトークンを追加] をクリックします。

トークン名を入力し、生成 をクリックします。
コピーアイコンをクリックして生成されたトークン文字列をコピーします。次のステップで必要になるため、安全な場所に保存してください。

ステップ 2:接続の作成
接続は、EventBridge が API リクエストを認証するために使用する Jenkins の認証情報を格納します。
EventBridge コンソール にログインします。
左側のナビゲーションウィンドウで、インテグレーションセンター > API 宛先 を選択します。
上部のナビゲーションバーで、対象リージョンを選択します。
接続構成 タブをクリックし、作成 をクリックします。
「接続の作成」パネルで、以下のパラメーターを設定し、[OK] をクリックします。
パラメーター 値 Name 接続を識別するための説明的な名前(例: jenkins-connectionDescription (任意)簡単な説明 Authentication Basic を選択します。Username にはご利用の Jenkins アカウントのユーザー名を、Password には手順 1 で取得した API トークン文字列を設定します。 Network Internet(デフォルト)
ステップ 3:API 宛先の作成
API 宛先は Jenkins のビルド URL を指し、ステップ 2 で作成した接続を参照します。
API 宛先 タブをクリックし、作成 をクリックします。
[接続の作成] パネルで、以下の設定を構成し、[OK] をクリックします。
基本情報
パラメーター 値 方法 カスタム [名前] わかりやすい名前(たとえば、 jenkins-build[説明] (任意) 簡単な説明 API 設定
パラメーター 値 URL Jenkins ビルド API の URL です。例: http://<jenkins-host>:8080/job/test/buildHTTP メソッド [POST] 接続設定
パラメーター 値 既存の接続を選択 手順 2 で作成した接続を選択します。
ステップ 4:API 宛先をターゲットとするイベントルールの作成
左側のナビゲーションウィンドウで、イベントバス をクリックします。
カスタムイベントバス セクションで、作成 をクリックします。
[カスタムイベントバスの作成] パネルで、以下の手順を実行します。
[イベントバス]: [名前] と [説明] を入力し、[次のステップ] をクリックします。
[イベント ソース]: [イベント ソース名] と [説明] を入力します。[イベント プロバイダー] を [カスタム アプリケーション] に設定し、[次のステップ] をクリックします。
[イベントルール]:[イベントルール名] と [説明] を入力し、[次のステップ] をクリックします。
[イベントターゲット]:次のパラメーターを設定します。
パラメーター 値 サービスの種類 選択: [API オペレーションによるトリガー] メソッド 選択: [既存のアイテムを使用] [HTTP パラメーター] イベントが Jenkins のビルドをトリガーする際に渡すパラメーターを指定します 作成 をクリックします。
ステップ 5:テストイベントの公開
イベントバス ページで、作成したカスタムイベントバスを見つけ、 操作 列の イベントの公開 をクリックします。
カスタムイベントバスへのイベント公開 パネルで、カスタムイベントソース のドロップダウンリストからカスタムイベントソースを選択し、OK をクリックします。
連携の検証
イベントを公開した後、Jenkins がイベントを受信し、ビルドを開始したことを確認します。
Jenkins のホームページを開き、API 宛先 URL で指定したプロジェクト(例:
test)をクリックします。[ビルド履歴] セクションで、最新のビルドエントリをクリックします。

左側のナビゲーションウィンドウで、[コンソール出力] をクリックしてビルドログを表示します。ログで、Jenkins が EventBridge によって公開されたイベントを受信し、ビルドを開始したことを確認できます。
