IBM Cloud Docs
Slack

Slack

Slack は、チームの接続とコラボレーションを支援するメッセージング・プラットフォームです。 サービス宛先として Slack を選択すると、イベントに関するサブスクライブされた通知を Slack チャネルにメッセージとして送信できます。

3000 文字を超える長さのメッセージが Slack に送信されると、メッセージ・テキストはリーダー [...] で切り捨てられます。

Slack 着信 Webhook URL の生成

緩やかな通知を投稿するには、受信URL を生成する必要があります。 URL を生成するには、以下の手順に従います 。Slackの受信Webhook

Slack 宛先の構成

ダイレクトメッセージの送信先としてSlackを設定する前に、ボットトークンスコープが chat:write のSlackアプリを作成し、設定していることを確認してください。 詳しくはSlack APIのドキュメントを参照してください: (https://api.slack.com/quickstart#creating).

Slackの送信先を設定するには、以下の手順に従います

  1. Event Notificationsインスタンス・ダッシュボードにログインし、[Destinations]に移動します。

  2. 「追加」 をクリックして、新しい宛先を追加します。

  3. Add a destinationサイドパネルで、以下の詳細を入力します:

  • 名前: 宛先の名前を入力します。
  • 説明:オプションで、目的地の説明を入力します。
  • タイプ:Destinationで、リストからSlackを選択します。
  • メッセージの送信 :以下のオプションから1つを選択してください
    • 受信Webhookの使用 :Slack受信 URL を提供します。
    • ダイレクトメッセージを使用する: ボットユーザーのOAuthトークンを提供します。

Slack サブスクリプションの構成

  1. 着信Webhookの使用
    • 16進コードに基づいて、個々のSlack購読に添付ファイルの色を追加できます。 例えば、#0000FFで色を青にします。
  2. ダイレクト・メッセージの使用
    • メンバーIDとチャンネルIDのリストを提供することができます。 チャンネルIDが提供された場合、アプリケーションは指定されたチャンネルに統合されなければならない。

Event Notifications からのデフォルトの Slack 通知 (テンプレートなし) の外観

イベント通知は、着信ペイロードから Slack 通知を生成します。 Slack に送信するために使用されるテンプレート・イベント通知は、以下のようになります。

{
  "blocks": [
    {
      "type": "rich_text",
      "elements": [
        {
          "type": "rich_text_section",
          "elements": [
            {
              "type": "text",
              "text": "{{ibmendefaultshort}}", // Read from event payload
              "style": {
                "bold": true
              }
            }
          ]
        }
      ]
    },
    {
      "type": "section",
      "text": {
        "type": "plain_text",
        "text": "{{ibmendefaultlong}}", // Read from event payload
        "emoji": true
      }
    },
    {
      "type": "divider"
    },
    {
      "type": "context",
      "elements": [
        {
          "type": "mrkdwn",
          "text": "```{{event_payload}}```" // Full notification payload sent to /notifications endpoint
        }
      ]
    }
    ]
}

ここで-

ibmendefaultshort は、着信ペイロードで提供されるデフォルトの短いペイロードです。 ibmendefaultlongは、受信ペイロードで提供されるデフォルトのロングペイロードである。 dataは、受信ペイロードで提供され、slack通知でJSONとしてフォーマットされたデータJSONです。

Slack通知テンプレートの作成と使用方法の詳細については 、こちらをご覧ください。

Slack 宛先構成のテスト

宛先を指定するオプション・メニューで Slack 宛先をテストできます。 提供された構成が正しいかどうかにかかわらず、シングルクリックで宛先を簡単にテストできます。

宛先のテストについて詳しくは、 ここ を参照してください。

Slack 再試行ポリシー

Slack 通知を公開すると、ネットワーク・エラーやアプリケーションの欠陥などの問題が原因で要求が失敗する可能性があります。 再試行は、外部要求に対する回復力を提供するために使用されます。 このような状況では、以下の値を使用して要求を再試行してください。

  • 制限 = 60 秒: サービスが再試行する合計時間。
  • ステップ = 5 秒: 各障害の後、サービスは 5 秒待機してから再試行します。 この遅延により、外部サービス (Webhook) の爆撃を防ぐことができます。

さらに、以下のタイムアウト条件により、Slack 呼び出しが失敗します。

  • 10 秒の接続タイムアウト
  • 60 秒の応答タイムアウト

再試行後も Slack Webhook URL への呼び出しが失敗すると、通知は失われます。