コラム
2020/12/21

Slack通知を少しだけ豪華にしてみた

  • その他

Slack通知を少しだけ豪華にしてみた皆さんは、メッセージを通知する際、どのようなツールを使用していますか?最も一般的なツールといえば、メールだと思います。どのようなメッセージを通知するかにもよりますが、Slackは使いやすい!わかりやすい!ということで圧倒的におススメです。

そこで今回は、Slackにはどのような利点があるのか、Slackではどのようなことが実現できるのかということを、実際に私が実装した体験をもとにご説明します。

メールとSlackの通知の違い

メールとSlackの最大の違いは、Slackではチャンネル分けができるということです。

Slackではチャンネルごとに通知が振り分けられます。

Slackの導入で来たメールの中から重要なものをピックアップし、フォルダ分けして、返信して…といったメールでお馴染みの作業は必要なくなります。そもそもSlackでは最初から作業や仕事ごとにチャンネルを分けているので、異なる種類のメッセージが同じ欄に表示されることはありません。

また、メールの場合、「CC:」に誰を入れるべきか迷うこともあるかと思いますが、Slackではチャンネル内で共有すれば、チャンネル内の全員がメッセージを見れるようになっているので、メッセージを知らせる人で悩むこともなくなります。

Slackでできること

Slackを使用すると、効率的なコミュニケーションが実現できます。
効率的なコミュニケーションのために用意されている機能を2点ご紹介します。

@メンション機能

Slackにはメンション機能が存在します。メールの場合、一通のメールに「>○○さん」のように書き連ねなければならないところを、Slackではメッセージの前に「@○○」とつけるだけでメンションが完了します。さらに、メンションした人には通知されるように設定されているので自分宛てのメッセージを読み忘れる、といったことを防ぐことができます。

@リアクションボタン

メールの場合、返信が来るまで相手が確認したかどうかが判断できませんが、Slackの場合「リアクション」ボタンが各スレッドに用意されているので、メッセージを見たらボタンを押してリアクションするだけで、送信者に見たことを伝えることができます。

また、送信者がスレッドの内容に対し、「対応出来たらリアクションボタンをつけてください」などと指定しておく使い方もできます。リアクションボタンには押下された回数が表示されるので、対応した人数を一目で把握することができ、タスクを管理にも役立つといった利点もあります。

改修内容(attachmentsチートシートの仕組み、自分が行った改修)

Slackではメールに比べて多くのことができるということがわかりましたが、Slackでどのように通知を豪華にするのでしょうか。
Slackの通知を豪華にする際には、SlackのAPIに用意されているattachmentsを使用します。
こちらが、attachmentsを挿入した場合のSlack通知です。とても見やすいですよね?

ここで、実際私が行った改修をもとに、attachmentsに追加できる機能についてご説明します。
この通知は、1つのattachmentに2つのfieldsを組み合わせて構成されています。
fieldsの中でさらに細かく設定を追加することでより見やすい通知を実現しています。

他にもいくつかパラメータが存在しますので、是非自分流の通知にアレンジしてみてください。

  • ①pretext:attachmentsの上に表示するテキストです。
    この通知が何のメッセージなのかを記載しています。特に、複数のattachmentsを追加する場合に有効です。
  • ②colort:色を指定することができます。
    Slackでは「good」「warning」「danger」の3つが用意されていますが、カラーコードを指定することで好きな色に設定することができます。今回はfieldsごとにカラーコード(#AAFFAA)と(#D8A5AA)を指定しています。
  • ③title:タイトルを表示します。今回の通知方法では、titleはfields内に「Good」「Bad」として記載しています。
    記入例:
    
                        "pretext":"2020/12/08分 集計",
                        "color":"#AAFFAA",
                        
  • ④fields:attachmentsの中で複数のブロックを作成することができます。
    今回は「Good」に4種類、「Bad」に5種類のfieldsを組み込みました。
  • ⑤alues:fields内に記載される内容です。
  • ⑥short:attachment内を左右で半分ずつ表示します。
      "true"を入れると半分ずつ表示し、"false"を入れると通常の表示になります。
      コード記載の「Good」のfiledsでは、test1~test4までのすべてのfieldsに"true"が入っています。
    記入例:
    
                    "fields":
                    [
                        {
                            "title":"Good",
                            "short":false,
                        },
                        {
                            "value":"test1:1件 (2件減)",
                            "short":true,
                        },
                        { ………
                        },
                    ]
                
    attachments全体のコードは以下のようになります。
    
                    "attachments":
                    [
                        {
                            "pretext":"2020/12/08分 集計",
                    
                            "color":"#AAFFAA",
                            "fields":
                            [
                                {
                                    "title":"Good",
                                    "short":false,
                                },
                                {
                                    "value":"test1:1件 (2件減)",
                                    "short":true,
                                },
                            ]
                        }
                        {
                            "color":"#D8A5AA",
                            "fields":
                            [
                                {
                                    "title":"Bad",
                                    "short":false,
                                },
                                {
                                    "value":"合計:0件",
                                    "short":true,
                                },
                            ]
                        }
                    ]
                

attachmentsを組み込む利点

一目見ただけでどのような通知内容かがわかる

では、attachmentsを組み込む利点は何でしょうか。
通知を受け取る側のメリットとしては、attachmentsを組み込むことで、一目見ただけでどのような通知の内容かを把握することができ、作業効率の向上につながる点が挙げられます。
通知をする側にとっては、一つの通知にattachmentsを複数組み込み、さらに色分けするなどの工夫をすることで似たような通知内容を1件の通知としてまとめることができる点が利点です。これにより、通知が何通も来てタイムラインが流れ、通知を受け取る側が通知を見逃してしまうといったことを防ぐことができます。
つまり、attachmentsを組み込むことは作業効率の向上、見やすさという観点から、通知を受け取る側、通知する側にもメリットがあるということです。

まとめ

WEBSASくん

attachmentsを加えることで通知が見やすくなり、作業効率が向上することがお分かりいただけましたでしょうか。
通知の種類によってattachmentsを変えたり、通知するチャネルを変えたりすることでさらにスッキリと情報をまとめることができます。
普通のプログラムに少し手を加えるだけで実現できますので、是非試してみてください!