HubotでSlackにattachments付きのリッチなメッセージを送る
この記事は昔のブログから引っ越してきた古い内容です。
こんにちは、今回はJavaScriptでSlackにリッチなメッセージをHubotを使って送りたいと思います(今回は備忘録的な記事です)
調べてもCoffeeScriptの情報が多かったりしてわかりにくかったので、出来たことを書いていきます
また2018年8月時点での情報ですので(hubot-slack version 4.5.4)、未来からご覧の方はうまく動かない可能性があります
データ構造
hubot-slackは所定の形のObjectを渡してやることで、通常の使用では使えないリッチな表現をすることができます(attachments)
let msg = new Object;
msg = {
attachments: [ // 配列なので注意!複数同時に送れます
{
title: "太字になり最初の記載されます",
text: "本文です",
fields: [ // フィールドも配列です、複数可
{
title: "フィールドのタイトルです",
value: "フィールドの内容",
short: true // 十分横幅が小さいか?trueの場合2列に並べられます
}
]
}
]
}
全て書いていませんがこのようにattachments配列の中に書いていくことでデザインが可能です
さらに知りたい方はSlack Attachmentsをご覧ください
Slackに投稿する
robot.send({room: '送り先のチャンネル名'}, msg);
このようにObjectを使ってチャンネルを指定して投稿できます
短い記事でしたが、意外と簡単にSlackのリッチなメッセージを作成できることがお分りいただけたかと思います