ワークフロー用 Webhook の作成と管理
Webhook は、特定のアクションが発生したときにイベント データを自動的に送信することで、アプリケーション間の通信を自動化する簡単な方法です。Qlik Cloud では、Webhook によって手動介入なしに他のアプリケーションでアクションをトリガーできるため、Qlik Cloud をワークフローに統合し、システム イベントに基づいてタスクを自動化することが容易になります。定義されたイベントが発生するたびに、指定された Webhook エンドポイントに JSON リクエストが送信され、選択したアプリケーションにイベント データが配信されます。
Webhooks を理解する
Webhooks の仕組み
Qlik Cloud でイベントが発生 (新しいアプリの作成、またはユーザーの削除など) すると、Webhook は HTTP コールバックを使用して、指定された外部アプリケーションに JSON 形式で情報を送信します。この外部アプリケーションは、イベント データを使用してさらなるアクションをトリガーできます。
例:
-
新しいアプリが作成されたら、Slack を通じてチームに通知します。
-
新しいチーム メンバーがテナントに追加されたときに、自動的にウェルカム メールを送信します。
-
ユーザーがテナントから削除されたときにスプレッドシートを更新します。
Webhooks を使用するメリット
Webhook を使用すると、他のシステムとのリアルタイムの統合が可能になり、継続的な手動チェックや API リクエストの繰り返しが不要になります。Webhook はイベントをリッスンし、関連データを即時に送信することで、不要な作業が減少し、スムーズな自動化を実現します。
Webhook 統合に人気のプラットフォーム
Webhook データの処理と応答には、カスタム サービスを構築するか、次のようなサードパーティ プラットフォームを使用します。
Webhook の制限
システム パフォーマンスを維持し、リソースを管理するために、次の制限が適用されます。
-
Webhook の配信履歴は 7 日間保持されます。
-
各ユーザーは最大 150 個の Webhook を所有できます。
-
テナントごとに最大 100 個の Webhook を作成できます。
Webhook のリクエスト構造
イベントによって Webhook がトリガーされると、指定されたエンドポイントに JSON リクエストが送信されます。このリクエストの構造には、イベント タイプ、日付と時刻、その他のメタデータなど、イベントに関する重要な詳細が含まれています。
Webhook リクエストの例: アプリ削除イベント
アプリが削除されたときに送信される JSON リクエストの例を次に示します。
リクエスト URL
https://api.blendr.io/v1/widgets/F502987A-AF89-4992-8127-F28794C5A74A?X-Execution-Token=xxxxx
ヘッダー
{
"Content-Type": "application/json",
"Qlik-Signature": "446bd5e3f5b635f491d17557e4bec6ebc61b7bd2bc9cc7b612e4e",
"User-Agent": "Qlik Webhook"
}
ボディ
{
"cloudEventsVersion": "0.1",
"source": "com.qlik/engine",
"contentType": "application/json",
"eventId": "e65c1481-e8a-4be-a5ca-27dfcde077d7",
"eventTime": "2021-03-08T14:51:29Z",
"eventTypeVersion": "1.0.0",
"eventType": "com.qlik.v1.app.deleted",
"extensions": {
"ownerId": "vNRGrDZIypJzauw59BbpvkRhqbmI",
"tenantId": "oZcMPa_1PwH4FUdrh6839YHHdEJN",
"userId": "vNRGrDZIypJtcGTzauw59BbpqbmI"
},
"data": {
"attributes": {
"id": "0984fec4-aa8c-4253-b1d1-4fd4f9c78",
"name": "New App",
"createdDate": "2021-03-08T14:51:28.888Z",
"modifiedDate": "2021-03-08T14:51:29.316Z",
"owner": "auth0|b62a17c577a4abe6e807b07d18c4d82286352542d633d120100b03fb11",
"ownerId": "vNRGrDZIypJtcGTzauw59BbpvbmI",
"published": false,
"hasSectionAccess": false
}
}
}
このペイロードにより、削除されたアプリの ID、名前、所有者、削除の日付と時刻などの詳細情報が提供され、受信側システムがイベントを処理するのに役立ちます。イベント ペイロードの詳細については、「Qlik 開発者ポータル: API イベント」を参照してください。
Webhook の作成
Webhook は次のユーザーが作成できます。
-
Administration アクティビティ センターからのテナント管理者。
-
Qlik アプリケーション自動化インターフェイスからのすべてのユーザー。
アプリケーション自動化での Webhook の使用の詳細については、「Webhook の操作 (英語のみ)」を参照してください。
次の手順を実行します。
-
Administration アクティビティ センターで、 [Webhooks] に移動します。
-
[新規作成] をクリックします。
-
Webhook の名前を入力し、必要に応じて説明を追加します。
-
URL (エンドポイント) には、Webhook が JSON データを送信する完全修飾ドメイン名 (FQDN) を入力します。
-
この URL では HTTPS プロトコルを使用する必要があります (例: https://domain.com)。IP アドレスを Webhook のエンドポイントとして使用することはできません。
-
-
必要に応じて、Webhook 認証用シークレットを入力します。
-
シークレットは 32 文字から 64 文字の間である必要があります。
-
作成された場合、シークレットはハッシュの一部として含まれ、qlik-signature として HTTP リクエストに追加されます。
-
-
必要に応じて、リクエストに追加する HTTP ヘッダーを追加します。
-
[イベント] で、Webhook をトリガーするシステム イベントを選択します。使用できるイベントは次のとおりです。
-
アプリ イベント: 作成済み、削除済み、エクスポート済み、データ更新済み (リフレッシュ済み)、公開済み、リロード済み。
-
ユーザー イベント: 作成済み、削除済み。
-
-
[作成] をクリックします。
Webhook の管理
Webhook の並べ替えと検索
テーブル内の Webhook は次の方法で並べ替えおよび検索します。
-
並べ替えの順序を変更するには、列の上部にある をクリックします。
-
列の上部にある をクリックして、Webhook を検索します。検索フィルターは、完全一致と部分一致を使用できます。
Webhook をオンにするまたはオフにする
次の手順を実行します。
-
Administration アクティビティ センターで、 [Webhooks] に移動します。
-
Webhook の横の をクリックします。
-
Webhook をオンにするには、 [Webhook の有効化] を選択します。
-
Webhook をオフにするには、 [Webhook の無効化] を選択します。
新しく作成された Webhook は既定で有効になっています
Webhook の編集
次の手順を実行します。
-
Administration アクティビティ センターで、 [Webhooks] に移動します。
-
編集する Webhook で、 をクリックします。
-
[編集] を選択します。
-
編集して [保存] をクリックします。
Webhook の削除
次の手順を実行します。
-
Administration アクティビティ センターで、 [Webhooks] に移動します。
-
削除する Webhook を選択します。
-
[削除] をクリックします。
-
削除を確定します。
Webhook 履歴の表示
Webhook のイベント履歴は 7 日間保持されます。
次の手順を実行します。
-
Administration アクティビティ センターで、 [Webhooks] に移動します。
-
Webhook の横の をクリックすると、イベント履歴が展開されます。
-
イベント配信を手動で再配信するには、イベント行の をクリックします。
-
イベント応答ペイロードを表示するには、イベント行の をクリックします。
ペイロードには、アプリ ID、名前、日付と時刻などの詳細が表示され、過去のイベントのデバッグや監査に役立ちます。