LoginSignup
1
0

More than 1 year has passed since last update.

【slack】incoming webhookの通知が「このコンテンツは表示できません。」になるときのTips

Last updated at Posted at 2021-11-16

経緯

社内のチャットツールがchatworkからslackに移行するにあたり、
来客の受付を電話ではなく、slackの通知で受けられないか、と上司から相談があった。
incoming webhookで実装できそうだったので対応を進めたが、
メッセージを送るところまでは容易に実装出来るものの、通知が以下のようになった。

スクリーンショット 2021-11-15 16.47.57.png

とりあえず通知は出来るので、臭いものにフタをした優先度を下げていたのだが、
いよいよお披露目目前となり、さすがに対処しよう、と重い腰をやっと上げた。

原因

当初、メッセージのpayload内にblocksだけを含んだ状態でPOSTしていた。
これが良くなかった。以下payloadを定義した部分。

const payload = {
      blocks: [
        {
          type: 'section',
          text: {
            type: 'mrkdwn',
            text: '<!channel>',
          },
        },
        {
          type: 'context',
          elements: [
            {
              type: 'image',
              image_url:
                'https://a.slack-edge.com/production-standard-emoji-assets/13.0/apple-medium/1f481-200d-2642-fe0f@2x.png',
              alt_text: 'reception',
            },
            {
              type: 'mrkdwn',
              text: '*エントランスにお客様がいらっしゃっています。*',
            },
          ],
        },
    }

結論

blocksはメッセージの内容を定義しているだけで、通知メッセージはtextをblocksに併記する必要があるようだ。
以下が修正したpayloadの定義部分。

const payload = {
      text: ':man-tipping-hand:エントランスにお客様がいらっしゃっています。',
      blocks: [
        {
          type: 'section',
          text: {
            type: 'mrkdwn',
            text: '<!channel>',
          },
        },
        {
          type: 'context',
          elements: [
            {
              type: 'image',
              image_url:
                'https://a.slack-edge.com/production-standard-emoji-assets/13.0/apple-medium/1f481-200d-2642-fe0f@2x.png',
              alt_text: 'reception',
            },
            {
              type: 'mrkdwn',
              text: '*エントランスにお客様がいらっしゃっています。*',
            },
          ],
        },
      ],
    }

結果、無事に通知にもメッセージが表示されるようになった。
スクリーンショット 2021-11-16 14.43.33.png

参考URL

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0