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

EventBridge:DingTalkへのイベントのルーティング

最終更新日:Jan 11, 2025

イベントルールを使用して、イベントをフィルタリングし、DingTalkにルーティングできます。このトピックでは、カスタムイベントをDingTalkにルーティングするための前提条件と手順について説明します。また、結果を確認する方法についても説明します。

前提条件

背景情報

DingTalkチャットボットは、次の種類のメッセージをプッシュできます。
  • テキストタイプのメッセージMessage of the text type
  • リンクタイプのメッセージlink
  • Markdownタイプのメッセージmarkdown
  • 単一リダイレクトactionCardタイプのメッセージMessage of the single redirect actionCard type
  • 複数リダイレクトactionCardタイプのメッセージMessage of the multi-redirect actionCard type
  • feedCardタイプのメッセージfeedcard

手順 1:カスタムイベントソースを作成する

  1. EventBridge コンソールにログオンします。左側のナビゲーションペインで、[イベントバス] をクリックします。

  2. 上部のナビゲーションバーで、リージョンを選択します。[イベントバス] ページで、管理するカスタムイベントバスの名前をクリックします。

  3. 左側のナビゲーションペインで、[イベントソース] をクリックし、次に [イベントソースの追加] をクリックします。

  4. [カスタムイベントソースの追加] パネルで、[名前] パラメーターと [説明] パラメーターを設定し、[イベントプロバイダー] ドロップダウンリストから [カスタムアプリケーション] を選択し、[OK] をクリックします。

手順 2:イベントルールを作成する

重要 イベントルールに設定するイベントターゲットは、イベントルールと同じリージョンに存在する必要があります。
  1. EventBridge コンソールにログオンします。

  2. 左側のナビゲーションペインで、[イベントバス] をクリックします。

  3. 上部のナビゲーションバーで、リージョンを選択します。

  4. [イベントバス] ページで、管理するイベントバスの名前をクリックします。

  5. 左側のナビゲーションペインで、[イベントルール] をクリックします。

  6. [イベントルール] ページで、[ルールの作成] をクリックします。
  7. [ルールの作成] ウィザードを完了します。
    1. [基本情報の構成] 手順で、[名前] フィールドにルール名を入力し、[説明] フィールドにルールの説明を入力し、[次の手順] をクリックします。
    2. [イベントパターンの構成] 手順で、[イベントソースの種類] パラメーターを [カスタムイベントソース] に設定し、[イベントソース] ドロップダウンリストから手順 1 で作成したカスタムイベントソースを選択し、[イベントパターンのコンテンツ] コードエディターでイベントパターンを指定し、[次の手順] をクリックします。

      詳細については、「イベントパターン」をご参照ください。

    3. [ターゲットの構成] 手順で、イベントターゲットを設定します。次に、[作成] をクリックします。
      説明 1 つのイベントルールに対して最大 5 つのイベントターゲットを設定できます。
      • [サービスタイプ][dingtalk] をクリックします。
      • [アドレス]:DingTalkチャットボットのwebhook URLを入力します。
      • [秘密鍵]:DingTalkチャットボットのキーを入力します。
      • [プッシュされたコンテンツ]:テンプレートを指定します。イベントは、カスタムテンプレートで定義された形式でイベントターゲットにルーティングされます。テンプレート内の変数をカスタマイズできます。

        DingTalkチャットボットは、指定されたタイプおよび指定された形式のメッセージのみをプッシュできます。通常、DingTalkチャットボットは次の種類の変数とテンプレートをサポートしています。

        • テキストタイプの変数とテンプレートの例

          変数の例:

          {
            "content": "$.data.content" // コンテンツ
          }

          テンプレートの例:

          {
              "msgtype":"text", // メッセージタイプ
              "text":{
                  "content":"${content}@1760514XXXX" // メッセージコンテンツ
              },
              "at":{
                  "atMobiles":[ // @でメンションするモバイル番号
                      "1760514XXXX",
                      "1898325XXXX"
                  ],
                  "isAtAll":false // 全員をメンションするかどうか
              }
          }
          パラメータータイプ必須説明
          メッセージタイプStringはいメッセージのタイプ。
          テキストStringはいメッセージのタイプ。
          コンテンツObjectはいテキストタイプのメッセージのコンテンツ。
          Stringはいメッセージのコンテンツ。
          atMobilesObjectはいアットマーク(@)を使用したリマインダーの構成。
          説明 携帯電話番号は DingTalk アカウントにバインドする必要があります。
          すべてにおいてArrayいいえアットマーク(@)でリマインドするメンバーの携帯電話番号。
          説明 携帯電話番号はDingTalkアカウントにバインドされている必要があります。すべてにおいてコンテンツ
        • リンクタイプのサンプル変数とテンプレート

          サンプル変数:

          {
            "name": "$.data.name"
          }

          サンプルテンプレート:

          {
              "msgtype":"link",
              "link":{
                  "text":"The founder ${name} calls the upcoming new version a mangrove. Product managers adopt an appropriate alias for each major upgrade. Why is this version called the mangrove?",
                  "title":"The train of the era is moving forward",
                  "picUrl":"",
                  "messageUrl":"www.example.com"
              }
          }
          パラメータータイプ必須説明
          msgtypeStringはいメッセージのタイプ。
          linkObjectはいリンクタイプのメッセージの内容。
          textStringはいメッセージの内容。
          説明 メッセージの内容が長すぎる場合、DingTalk ウィンドウには内容の一部のみが表示されます。
          titleStringはいメッセージのタイトル。
          picUrlStringいいえ画像の URL。
          messageUrlStringはいメッセージの URL。
        • リンクタイプの変数とテンプレートの例

          変数の例:

          {
              "time":"$.time", // 時刻
              "content":"$.data.content" // 内容
          }

          サンプルテンプレート:

          {
              "msgtype":"markdown",
              "markdown":{
                  "title":"杭州の天気", //杭州の天気
                  "text":"#### Weather in Hangzhou @1760514XXXX \n> ${content}\n> ![screenshot](www.example.com/image_01.png)\n> ###### ${time}Publish [Weather](www.example.com) \n" //杭州の天気 @1760514XXXX \n> ${content}\n> ![screenshot](www.example.com/image_01.png)\n> ###### ${time}発行 [天気](www.example.com) \n
              },
              "at":{
                  "atMobiles":[
                      "1760514XXXX"
                  ],
                  "isAtAll":false
              }
          }
          パラメータータイプ必須説明
          msgtypeStringはいメッセージのタイプ。
          markdownObjectはいMarkdown タイプのメッセージの内容。
          titleStringはいメッセージのタイトル。
          textStringはいメッセージの内容。
          atObjectはいアットマーク (@) を使用したリマインダーの設定。
          atMobilesArrayいいえアットマーク (@) でリマインドするメンバーの携帯電話番号。
          isAtAllBooleanいいえアットマーク (@) を使用してすべてのメンバーにリマインドするかどうかを指定します。
          説明 isAtAll パラメーターを true に設定すると、DingTalk はアットマーク (@) を使用してすべてのメンバーにリマインドします。この場合、content パラメーターで特定のメンバーにリマインドするために使用するアットマーク (@) は無効になります。
        • 単一リダイレクト actionCard タイプのサンプル変数とテンプレート

          サンプル変数:

          {
              "content":"$.data.content"
          }

          サンプルテンプレート:

          {
              "msgtype":"actionCard",
              "actionCard":{
                  "title":"Jobs wanted to build an Apple Cafe 20 years ago, and it was the predecessor of Apple Store",
                  "text":"![screenshot](www.example.com/image_02.png) \n ### ${content} \n The design of Apple Store is moving from the original full sense of technology to life, and its life-oriented trend can be traced back to the plan of Apple to build a cafe 20 years ago.",
                  "btnOrientation":"0",
                  "singleTitle":"Read the full text",
                  "singleURL":"www.example.com"
              }
          }
          パラメータータイプ必須説明
          msgtypeStringはいメッセージのタイプ。
          actionCardObjectはいactionCard タイプのメッセージの内容。
          titleStringはいプレビューボックス内のメッセージのタイトル。
          textStringはいメッセージの内容。
          btnOrientationStringいいえボタンの方向。

          有効な値:

          • 0: 垂直方向の配置
          • 1: 水平方向の配置
          singleTitleStringはい単一ボタンのタイトル。
          singleURLStringはいsingleTitle パラメーターで指定されたタイトルをクリックしたときにトリガーされる URL。
        • 複数リダイレクト actionCard タイプのサンプル変数とテンプレート

          サンプル変数:

          {
              "content":"$.data.content"
          }

          サンプルテンプレート:

          {
              "msgtype":"actionCard",
              "actionCard":{
                  "title":"Jobs wanted to build an Apple Cafe 20 years ago, and it was the predecessor of Apple Store",
                  "text":"![screenshot](www.example.com/image_03.png) \n ### ${content} \n The design of Apple Store is moving from the original full sense of technology to life, and its life-oriented trend can be traced back to the plan of Apple to build a cafe 20 years ago.",
                  "btnOrientation":"0",
                  "btns":[
                      {
                          "title":"The content is good",
                          "actionURL":"www.example.com"
                      },
                      {
                          "title":"Not interested",
                          "actionURL":"www.example.edu"
                      }
                  ]
              }
          }
          パラメータータイプ必須説明
          msgtypeStringはいメッセージのタイプ。
          actionCardObjectはいactionCard タイプのメッセージの内容。
          titleStringはいプレビューボックス内のメッセージのタイトル。
          textStringはいメッセージの内容。
          btnOrientationStringいいえボタンの方向。

          有効な値:

          • 0: 垂直方向の配置
          • 1: 水平方向の配置
          btnsArrayはいボタン。
          titleStringはいボタンのタイトル。
          actionURLStringはいボタンをクリックしたときにトリガーされる URL。
        • Markdownタイプの変数とテンプレートの例

          変数の例:

          {
              "content":"$.data.content"
          }

          サンプルテンプレート:

          {
              "msgtype":"feedCard",
              "feedCard":{
                  "links":[
                      {
                          "title":"${content}",
                          "messageURL":"www.example.com",
                          "picURL":"img.example.com/image_04.png"
                      },
                      {
                          "title":"時代の列車は前進しています", // The train of the era is moving forward
                          "messageURL":"www.example.edu",
                          "picURL":"img.example.edu/image_05.png"
                      }
                  ]
              }
          }
          パラメータータイプ必須説明
          msgtypeStringはいメッセージのタイプ。
          feedCardObjectはいfeedCardタイプのメッセージの内容。
          linksArrayいいえfeedCardタイプのメッセージに関連するURL。
          titleStringはいメッセージのタイトル。
          messageURLStringはいメッセージのURL。
          picURLStringはい画像のURL。
          <tableg

        詳細については、「イベント変換」をご参照ください。

手順 3: イベントを発行する

  1. EventBridge コンソールにログオンします。左側のナビゲーションペインで、[イベントバス] をクリックします。

  2. 上部のナビゲーションバーで、リージョンを選択します。
  3. [イベントバス] ページで、イベントを発行するイベントバスを見つけ、イベントのパブリッシュ操作 列でクリックします。
    説明 EventBridge コンソールでは、カスタムイベントバスにのみイベントを発行できます。
  4. [カスタムイベントバスへのイベントの発行] パネルで、カスタムイベントソース ドロップダウンリストからカスタムイベントソースを選択し、イベント本体 コードエディターにイベントコンテンツを入力して、[OK] をクリックします。
    イベントパラメーターの詳細については、「概要」をご参照ください。

結果の確認

DingTalk チャットボットによってプッシュされたメッセージを DingTalk で表示します。