はじめに
この記事ではOracle Content ManagementのWebhookを利用してSiteが更新されたことをトリガにOracle Integration Cloud(OIC)の統合機能を呼び出す手順を説明します。今回は呼び出すだけの手順をまとめますが、このWebhookの機能を利用することでOCMが更新された際にOIC経由でメール通知をしたり、他のシステムへ連携したりすることができます。
-
Oracle Integration Cloud Processについてはこちら
https://www.oracle.com/jp/integration/application-integration/ -
Oracle Content Managementについてはこちら
https://www.oracle.com/jp/content-management/
前提
-
OICのプロビジョニングおよびユーザー・ロール設定が完了していること
https://docs.oracle.com/ja-jp/iaas/integration/index.html -
OCMのプロビジョニングおよびユーザー・ロール設定が完了していること
https://docs.oracle.com/ja-jp/iaas/content-management/doc/deploy-oracle-content-management.html
OIC - Integrationの作成
Connectionの作成
OICでトリガ用のREST APIのAdapterを使ってConnectionを作成します。
OICコンソールのメニューから"Integrations"-"Connections"に遷移し、"Create"をクリックします。
AdapterからRESTを選択し、"Select"をクリックします。
以下のように入力し、"Create"をクリックします。
項目 | 値 |
---|---|
Name | 任意の値 |
Identifer | 任意の値(Nameを入力すると自動的に入力される) |
Role | Trigger |
Security Policyを"Basic Authentication"に変更して"Save"します。
これでREST AdapterのConnectionが定義できました。
Integrationアプリケーションの作成
次に作成したREST AdapterのConnectionを使ってIntegrationフローを作成します。
OICコンソールのメニューから"Integrations"-"Integrations"に遷移し、"Create"をクリックします。
"App Driven Orchestration"を選択して、"Select"をクリックします。
Nameに任意の名前を入力して、"Create"をクリックします。
STARTの"+"から先ほど定義したREST AdapterのConnectionを選択します。
任意の名前を入力し、"Next"をクリックします。
以下のように入力・選択し、"Next"をクリックします。
項目 | 値 |
---|---|
What is the endpoint's relative resource URI | /任意の値 |
What action do you want to perform on the endpoint? | POST |
Configure a request payload for this endpoint | チェック |
"Selected the request payload format"を"JSON Sample"に変更し、その下にある"<<< inline >>>"をクリックします。
JSONのサンプル入力を求められるので、以下のJSONサンプルを張り付けします。
{
"webhook" : {
"id" : 1401,
"name" : "site publish webhook oic process"
},
"event" : {
"id" : "6a4674c0-0575-4df1-8cf9-45b611f67706",
"name" : "SITE_PUBLISHED",
"registeredAt" : "2023-07-20T05:11:18.084Z",
"initiatedBy" : ""
},
"entity" : {
"id" : "",
"name" : "testsite",
"action" : "publish"
}
}
張り付けると以下のようになります。"Ok"をクリックします。
"Next"をクリックします。
"Done"をクリックします。
次にTrackingを設定します。
右上のハンバーガーメニューから"Tracking"を選択します。
execute-request-wrapper-webhook-idをドラッグアンドドロップで右側のTracking Fieldに配置し、saveをクリックします。
ここまで出来たらSaveで保存して、Closeをクリックして閉じます。
これでWebhookから呼ばれるIntegrationの作成ができました。
IntegrationのActivateとEndpoint URLの確認
一覧から先ほど作成したIntegrationの右側にあるActivateのアイコンをクリックしてアプリケーションをActive化します。
表示されるダイアログはそのまま"Activate"をクリックします。
"Run"のアイコンをクリックし、その下に表示されるMetadata URLをクリックします。
表示された画面のEndpoint URLをコピーしておきます。
OCMのSiteの作成
次にWebhookのトリガ用のSiteを作成します。
OCMのコンソールからSiteを開き、"Create"をクリックします。
こちらを参考に適当なSiteを作成します。
OCMの設定
次はWebhookの設定をします。
OCMコンソールの左のメニューからIntegrationsを開き、上のプルダウンを"Webhooks"に変更します。
"Create"をクリックします。
"Site Publishing Webhook"をクリックします。
以下の項目を入力します。
項目 | 値 |
---|---|
Name | 任意の名前 |
Site Type | 作成したSiteのタイプ |
Site Name | 作成したSiteの名前 |
Events | All current and future events |
Target URL | コピーしたOICのエンドポイントURL |
Authenticationを"Basic"に変更し、"Details"をクリックします。
User NameとPasswordを入力し、"Save"をクリックします。
このUser NameとPasswordは利用しているIDPのものです。
右上にある"Save"をクリックします。
動作確認
最後に動作確認を行います。
自身で作成したSiteを適当に更新し、Publishを実行します。
(省略)
OCMのメニュー-Integrationsから先ほど定義したWebhookを選択し、Event Logタブを開くとWebhookの実行ログが確認できます。正常に実行されていることを確認します。
最後にWebhookからよばれたIntegrationをOICコンソールから確認します。
OICコンソールからMonitoring-Integrations-Trackingに遷移するとWebhookで呼ばれたIntegrationアプリケーションが確認できます。
このようにOCMはWebhookの機能があり、Site・Assetなどの更新をトリガにして設定したWebhookを呼び出すことができます。OICを呼び出し先に指定することで作成したIntegrationから通知を出したり、他のシステムと連携させたりすることが可能になります。