すべてのプロダクト
Search
ドキュメントセンター

Data Management:カスタムwebhook URLを使用して通知を送信する

最終更新日:Sep 09, 2024

データ管理 (DMS) では、テキストメッセージ、電子メール、DingTalk通知、およびDingTalkチャットボットメッセージに加えて、通知方法としてカスタムwebhook URLを使用できます。

通知方法としてwebhook URLを設定する

DMSコンソールで通知方法を設定します。 [通知方法の変更] ダイアログボックスで、webhookフィールドにwebhook URLを入力し、通知方法 の横にあるwebhookを選択します。

Modify notification method dialog box

詳細については、「個人情報と通知方法の設定」をご参照ください。

イベント通知のリクエスト

DMSで通知が生成されると、DMSは指定したwebhook URLに通知を送信します。 POSTリクエストの内容について説明します。

リクエストヘッダー

DMS-Event: Message Hook

リクエストパラメーター

パラメーター

データ型

説明

submitterUid

String

タスクを送信するアカウントのID。

submitterName

String

タスクを送信するアカウントの名前。

カテゴリ

String

Tickets、task Orchestration、Data Warehouse Developmentなど、タスクが属するモジュール。

module

String

権限の適用、データの変更、スキーマの設計、データのエクスポートなど、ビジネスの種類。

event

String

保留中の承認、成功、失敗など、タスクのステータスによってトリガーされるイベント。

taskId

String

チケットまたはタスクフローのID。

taskName

String

タスクの名前。

eventTime

String

イベントが発生した時刻。

message

String

DMSのプリセットメッセージ。

targetUsers

配列

通知を受信する受信者。 1つ以上の受信者を指定できます。

受信機

配列

通知を実際に受信する受信者。 1つ以上の受信者を指定できます。 Notification methodパラメーターを設定しない場合、受信者は通知を受信できません。

uid

String

受信者のID。 受信者を指定するときは、受信者のIDを指定する必要があります。

name

String

受信者の名前。 受信者を指定するときは、受信者の名前を入力する必要があります。

signatureMethod

String

通知方法としてカスタムwebhook URLを使用する場合に必要な署名方法。 有効な値:

  • なし: 署名は使用されません。 デフォルト値です。

  • HMAC_SHA1: ハッシュメッセージ認証コードセキュアハッシュアルゴリズム1 (HMAC_SHA1) が使用される。

signatureText

String

Webhook URL、パスワード、およびメッセージイベントに基づいて、HMAC_SHA1アルゴリズムを使用して計算されたデジタル署名。 例: 4mOdwflN1CgxxxxxxxuipuCYYWk=

リクエストの例

{
"messageEvent":{
    "submitterName":"xxx",
    "submitterUid":"167382665015xxxx",
    "category":"Tickets",
    "event":"Success",
    "eventTime":1625630049930,
    "message":"[DMS] Webhook test, code: 144619 ",
    "Module":"Data change"
    "receivers":[{"name":"xxx1","uid":"167382665015xxxx"},{"name":"xxx2","uid":"167382665016xxxx"}],
    "targetUsers":[{"name":"xxx1","uid":"167382665015xxxx"},{"name":"xxx2","uid":"167382665016xxxx"}],
    "taskName":"Webhook test"
    },
"signatureMethod":"HMAC_SHA1",
"signatureText":"4mOdwflN1Cg5NdM2XPuipuCYYWk="
 }

レスポンスの例

{"root":"","success":true}                   // The notification is sent.
{"root":"error message","success":false}     // The notification fails to be sent.

例:

エコースクリプトを作成して、webhook URLをテストし、webhook URLを使用して送信された通知を表示できます。

  1. 次のサンプルコードをprint_http_body.rbという名前のスクリプトとして保存します。

    require 'webrick'
    server = WEBrick::HTTPServer.new(:Port => ARGV.first)
    server.mount_proc '/' do |req, res|
      puts req.body
    end
    trap 'INT' do
      server.shutdown
    end
    server.start
  2. 使用しないポート (ポート8000など) を選択します。 スクリプトruby print_http_body.rb 8000を実行します。

  3. [設定] ダイアログボックスで、次の設定を行います。 DMSコンソールで、http:// my.host:8000/ などのwebhook URLを通知方法として設定します。 詳細については、「個人情報と通知方法の設定」をご参照ください。

    サーバーがHTTPプロトコルで基本認証を使用するように構成されている場合、ユーザー名とパスワードを含むwebhook URLを使用してサーバーにアクセスできます。 サンプルwebhook URL:

    http://userName:password@my.host:8080/project/test-job
  4. 通知方法の変更 ダイアログボックスで、webhookフィールドの右側にある [テスト] をクリックします。 DMSは、指定したwebhook URLに通知を送信します。

    次のコードは、DMSによって送信される通知の例を示しています。

    {
    "messageEvent":{
        "submitterName":"xxx",
        "submitterUid":"167382665015xxxx",
        "category":"Tickets",
        "event":"Success",
        "eventTime":1625630049930,
        "message":"[DMS] Webhook test, code: 144619 ",
        "Module":"Data change"
        "receivers":[{"name":"xxx1","uid":"167382665015xxxx"}],
        "targetUsers":[{"name":"xxx1","uid":"167382665015xxxx"}],
        "taskName":"Webhook test"
        },
    "signatureMethod":"HMAC_SHA1",
    "signatureText":"4mOdwflN1Cg5NdM2XPuipuCYYWk="
     }
    127.0.0.1 - - [20/Apr/2021:20:07:47 CST] "POST / HTTP/1.1" 200 0