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

Data Management:カスタム Webhook 通知の使用

最終更新日:Jun 21, 2026

SMS、E メール、DingTalk、DingTalk チャットボット、Lark による通知に加えて、Data Management DMS (DMS) はカスタム Webhook をサポートしています。

設定

Webhook を設定するには、個人設定の [Webhook] セクションに移動し、エンドポイント URL を入力して、[Webhook] 通知チャネルを選択します。

また、署名メソッド署名キーも設定する必要があります。[Test] ボタンをクリックすると、Webhook URL の接続性を検証できます。通知設定パネルでは、[DingTalk (exclusive)][DingTalk][DingTalk chatbot][E メール][Lark][SMS] などの他のチャネルも選択できます。

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

イベント

DMS で通知がトリガーされると、システムは設定済みの Webhook URL に HTTP POST リクエストを送信します。リクエストはヘッダーとボディで構成されます。

リクエストヘッダー

DMS-Event: Message Hook

リクエストボディ

パラメーター

タイプ

説明

submitterUid

String

リクエストを送信したユーザーの UID です。

submitterName

String

リクエストを送信したユーザーの名前です。

category

String

チケット、タスクオーケストレーション、データウェアハウス開発などの機能モジュールです。

module

String

権限申請、データ変更、スキーマ設計、データエクスポートなどのビジネスタイプです。

event

String

特定のイベントを表します。例:承認待ち、成功、失敗。

taskId

String

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

taskName

String

タスクの名前です。

eventTime

String

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

message

String

システム組み込みのメッセージテキストです。

targetUsers

オブジェクトの配列

通知対象の受信者です。複数の受信者を指定できます。

receivers

オブジェクトの配列

実際の受信者を表すオブジェクトの配列です。通知方法が設定されていないユーザーは通知を受信しません。

uid

String

受信者の UID です。

name

String

受信者の名前です。

signatureMethod

String

署名メソッドです。次の署名メソッドを利用できます:

  • [なし] (デフォルト):署名は使用されません。

  • [HMAC-SHA1]:HMAC-SHA1 アルゴリズムを使用します。

signatureText

String

Webhook URL、署名キー、およびメッセージイベントから計算された HmacSha1 値であるデジタル署名です。例:4mOdwflN1CgxxxxxxxuipuCYYWk=

リクエストボディの例

{
"messageEvent":{
    "submitterName":"xxx",
    "submitterUid":"167382665015xxxx",
    "category":"ticket",
    "event":"Succeeded",
    "eventTime":1625630049930,
    "message":"[Data Management 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}                   // 成功
{"root":"error message","success":false}     // 失敗

署名検証

署名キーを設定した場合、次のコードを使用して署名を検証します。

// 受信メッセージの署名を検証します
public void callback(String message) {
    JSONObject jsonObject = JSONObject.parseObject(message, Feature.OrderedField);
    String webhookUrl = "設定した Webhook URL";
    String signatureKey = "設定した署名キー";
    String origin = webhookUrl + signatureKey + JSON.toJSONString(jsonObject.getJSONObject("messageEvent"));
    // DMS メッセージからの署名
    String signatureText = jsonObject.getString("signatureText");
    // ユーザー側で計算された署名
    String expectedSignatureText = signatureByHmacSha1(origin, signatureKey);
    assert Objects.equals(signatureText, expectedSignatureText);
}
public String signatureByHmacSha1(String origin, String key) {
    final String charset = "UTF-8";
    String result = "N/A";
    try {
        SecretKey secretKey = new SecretKeySpec(key.getBytes(charset), "HmacSHA1");
        Mac mac = Mac.getInstance("HmacSHA1");
        mac.init(secretKey);
        result = Base64.getEncoder().encodeToString(mac.doFinal(origin.getBytes(charset)));
    } catch (Exception ex){
    }
    return result;
}

Webhook レシーバーの例

簡単な echo スクリプトを作成して、Webhook エンドポイントをテストし、イベントペイロードを表示できます。

  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 コンソールで、Webhook URL (例:http://my.host:8000/) を設定します。詳細については、「個人情報と通知方法の設定」をご参照ください。

    サーバーで HTTP 基本認証が必要な場合は、URL にユーザー名とパスワードを含めることができます。例:

    http://userName:password@my.host:8080/project/test-job
  4. 通知方法の変更 ダイアログボックスで、Webhook URL の横にある [Test] をクリックします。サーバーは DMS からテスト通知を受信します。

    サーバーは、次のような通知を受信します:

    {
    "messageEvent":{
        "submitterName":"xxx",
        "submitterUid":"167382665015xxxx",
        "category":"ticket",
        "event":"Succeeded",
        "eventTime":1625630049930,
        "message":"[Data Management 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="
     }