您可以通過事件規(guī)則過濾事件,將事件路由到釘釘。本文以自定義事件為例介紹將事件路由到釘釘?shù)那疤釛l件、操作步驟和結(jié)果驗證。

前提條件

背景信息

釘釘機器人支持接收的消息類型和結(jié)果樣式如下所示:
  • text消息text類型
  • link消息link
  • markdown消息markdown
  • 整體跳轉(zhuǎn)actionCard類型整體跳轉(zhuǎn)
  • 獨立跳轉(zhuǎn)actionCard類型獨立跳轉(zhuǎn)
  • feedCard類型feedcard

步驟一:添加自定義事件源

  1. 登錄事件總線EventBridge控制臺,在左側(cè)導(dǎo)航欄,單擊事件總線
  2. 在頂部菜單欄,選擇地域,在事件總線頁面,單擊目標(biāo)自定義事件總線名稱。
  3. 在左側(cè)導(dǎo)航欄,單擊事件源,然后單擊添加事件源
  4. 添加自定義事件源面板,輸入名稱描述事件提供方選擇自定義應(yīng)用,然后單擊確定

步驟二:創(chuàng)建事件規(guī)則

重要 目標(biāo)服務(wù)和事件規(guī)則必須處于同一地域。
  1. 登錄事件總線EventBridge控制臺
  2. 在左側(cè)導(dǎo)航欄,單擊事件總線
  3. 在頂部菜單欄,選擇地域。
  4. 事件總線頁面,單擊目標(biāo)總線名稱。
  5. 在左側(cè)導(dǎo)航欄,單擊事件規(guī)則
  6. 事件規(guī)則頁面,單擊創(chuàng)建規(guī)則
  7. 創(chuàng)建規(guī)則頁面,完成以下操作。
    1. 配置基本信息配置向?qū)В?span id="z68uejxpaoma" class="ph uicontrol" data-tag="uicontrol" id="uicontrol-snv-8b7-dk3">名稱文本框輸入規(guī)則名稱,在描述文本框輸入規(guī)則的描述,然后單擊下一步
    2. 配置事件模式配置向?qū)В?span id="z68uejxpaoma" class="ph uicontrol" data-tag="uicontrol" id="uicontrol-5tg-uj3-70t">事件源類型選擇自定義事件源事件源選擇步驟一添加的自定義事件源,在事件模式內(nèi)容代碼框輸入事件模式,然后單擊下一步

      如需了解更多信息,請參見事件模式

    3. 配置事件目標(biāo)配置向?qū)В渲靡韵率录繕?biāo)參數(shù),然后單擊創(chuàng)建
      說明 1個事件規(guī)則最多可以添加5個目標(biāo)。
      • 服務(wù)類型:單擊釘釘
      • 地址:輸入釘釘機器人的Webhook地址。
      • 密鑰:輸入釘釘機器人密鑰。
      • 推送內(nèi)容:默認(rèn)為模板。通過自定義變量和模板,將事件按照模板的示例輸出。

        釘釘機器人規(guī)定了其接收的消息類型和數(shù)據(jù)格式,以下為常用消息類型的變量和模板示例:

        • text類型

          變量示例:

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

          模板示例:

          {
              "msgtype":"text",
              "text":{
                  "content":"${content}@1760514XXXX"
              },
              "at":{
                  "atMobiles":[
                      "1760514XXXX",
                      "1898325XXXX"
                  ],
                  "isAtAll":false
              }
          }
          參數(shù)類型是否必選說明
          msgtypeString消息類型。
          textObjecttext類型的事件內(nèi)容。
          contentString消息內(nèi)容。
          atObjectat(@)參數(shù)內(nèi)容。
          atMobilesArray被at(@)的人的手機號碼。
          說明 手機號碼必須綁定釘釘賬號。
          isAtAllBoolean是否at(@)所有人。
          說明 當(dāng)isAtAll設(shè)置為true,釘釘接收事件消息at所有人,此時content中at某個群成員會失效。
        • link類型

          變量示例:

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

          模板示例:

          {
              "msgtype":"link",
              "link":{
                  "text":"這個即將發(fā)布的新版本,創(chuàng)始人${name}稱它為紅樹林。而在此之前,每當(dāng)面臨重大升級,產(chǎn)品經(jīng)理們都會取一個應(yīng)景的代號,這一次,為什么是紅樹林?",
                  "title":"時代的火車向前開",
                  "picUrl":"",
                  "messageUrl":"www.example.com"
              }
          }
          參數(shù)類型是否必選說明
          msgtypeString消息類型。
          linkObjectlink類型的事件內(nèi)容。
          textString消息內(nèi)容。
          說明 如果消息內(nèi)容太長,釘釘窗口中只會顯示部分內(nèi)容。
          titleString消息標(biāo)題。
          picUrlString圖片URL。
          messageUrlString消息URL。
        • markdown類型

          變量示例:

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

          模板示例:

          {
              "msgtype":"markdown",
              "markdown":{
                  "title":"杭州天氣",
                  "text":"#### 杭州天氣 @1760514XXXX \n> ${content}\n> ![screenshot](www.example.com/image_01.png)\n> ###### ${time}發(fā)布 [天氣](www.example.com) \n"
              },
              "at":{
                  "atMobiles":[
                      "1760514XXXX"
                  ],
                  "isAtAll":false
              }
          }
          參數(shù)類型是否必選說明
          msgtypeString消息類型。
          markdownObjectmarkdown類型的事件內(nèi)容。
          titleString消息標(biāo)題。
          textString消息內(nèi)容。
          atObjectat(@)參數(shù)內(nèi)容。
          atMobilesArray被at(@)的人的手機號碼。
          isAtAllBoolean是否at(@)所有人。
          說明 當(dāng)isAtAll設(shè)置為true,釘釘接收事件消息at所有人,此時content中at某個群成員會失效。
        • 整體跳轉(zhuǎn)actionCard類型

          變量示例:

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

          模板示例:

          {
              "msgtype":"actionCard",
              "actionCard":{
                  "title":"喬布斯20年前想打造一間蘋果咖啡廳,而它正是Apple Store的前身",
                  "text":"![screenshot](www.example.com/image_02.png) \n ### ${content} \n Apple Store的設(shè)計正從原來滿滿的科技感走向生活化,而其生活化的走向其實可以追溯到20年前蘋果一個建立咖啡館的計劃",
                  "btnOrientation":"0",
                  "singleTitle":"閱讀全文",
                  "singleURL":"www.example.com"
              }
          }
          參數(shù)類型是否必選說明
          msgtypeString消息類型。
          actionCardObjectactionCard類型的事件內(nèi)容。
          titleString消息預(yù)覽框標(biāo)題。
          textString消息內(nèi)容。
          btnOrientationString按鈕方向。

          取值說明如下:

          • 0:垂直排列。
          • 1:橫向排列。
          singleTitleString單個按鈕的標(biāo)題。
          singleURLString單擊singleTitle觸發(fā)的URL。
        • 獨立跳轉(zhuǎn)actionCard類型

          變量示例:

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

          模板示例:

          {
              "msgtype":"actionCard",
              "actionCard":{
                  "title":"喬布斯20年前想打造一間蘋果咖啡廳,而它正是Apple Store的前身",
                  "text":"![screenshot](www.example.com/image_03.png) \n ### ${content} \n Apple Store 的設(shè)計正從原來滿滿的科技感走向生活化,而其生活化的走向其實可以追溯到20年前蘋果一個建立咖啡館的計劃",
                  "btnOrientation":"0",
                  "btns":[
                      {
                          "title":"內(nèi)容不錯",
                          "actionURL":"www.example.com"
                      },
                      {
                          "title":"不感興趣",
                          "actionURL":"www.example.edu"
                      }
                  ]
              }
          }
          參數(shù)類型是否必選說明
          msgtypeString消息類型。
          actionCardObjectactionCard類型的事件內(nèi)容。
          titleString消息預(yù)覽框標(biāo)題。
          textString消息內(nèi)容。
          btnOrientationString按鈕方向。

          取值說明如下:

          • 0:垂直排列。
          • 1:橫向排列。
          btnsArray按鈕。
          titleString按鈕的標(biāo)題。
          actionURLString單擊按鈕觸發(fā)的URL。
        • feedCard類型

          變量示例:

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

          模板示例:

          {
              "msgtype":"feedCard",
              "feedCard":{
                  "links":[
                      {
                          "title":"${content}",
                          "messageURL":"www.example.com",
                          "picURL":"img.example.com/image_04.png"
                      },
                      {
                          "title":"時代的火車向前開",
                          "messageURL":"www.example.edu",
                          "picURL":"img.example.edu/image_05.png"
                      }
                  ]
              }
          }
          參數(shù)類型是否必選說明
          msgtypeString消息類型。
          feedCardObjectfeedCard類型的事件內(nèi)容。
          linksArrayfeedCard涉及的鏈接。
          titleString消息標(biāo)題。
          messageURLString消息URL。
          picURLString圖片URL。

        更多信息,請參見事件內(nèi)容轉(zhuǎn)換

步驟三:發(fā)布事件

  1. 登錄事件總線EventBridge控制臺,在左側(cè)導(dǎo)航欄,單擊事件總線
  2. 在頂部菜單欄,選擇地域。
  3. 事件總線頁面,找到目標(biāo)總線,在其右側(cè)操作列單擊發(fā)布事件
    說明 僅自定義事件總線支持通過控制臺發(fā)布事件。
  4. 發(fā)布事件至自定義事件總線面板,自定義事件源下拉列表選擇已創(chuàng)建的自定義事件源,在事件體代碼框輸入事件內(nèi)容,然后單擊確定
    事件包含的參數(shù)規(guī)范,請參見事件概述

結(jié)果驗證

您可以在釘釘客戶端查看釘釘機器人推送的消息。