Edited at

Slack API attachmentsチートシート


attachmentsとは

Slackのメッセージを装飾するもの。

通知系のBotで投稿するメッセージをリッチなものにするのに有効だったりします。

次の画像は、attachmentなしと、attachmentありの比較です。


attachmentなし

なし.png


attachmentあり

あり.png


パラメータ


fallback


解説

添付に対するプレーンテキストでの要約。

ドキュメントによると、フォーマットされたテキストを表示しないクライアントで表示されるとあるが、未だ表示されるクライアント、シーンに出くわしたことはない。

fallbackという名の通り、念のためattachments内容の要約テキストを指定しておくとよいかと。


指定例

"fallback": "This is test attachment",


color


解説

attachmentsの色を指定する。

プリセットの3種類があり、それ以外にもカラーコードで指定することも可能。


プリセット


  • good

  • warning

  • danger


それぞれ信号の、青、黄色、赤のような色です。


カラーコードでの指定

カラーコードで自由な色を指定することも可能です。

スクリーンショット 2017-07-01 14.24.48.png


デフォルト

colorが未指定のattachmentsは次のように表示されます。

スクリーンショット 2017-07-01 14.27.10.png


指定例


プリセット

"color": "good",



カラーコード

"color": "#FFC0CB",



pretext


解説

attachmentsブロック(↑のcolorの横に表示される領域)の上に表示されるテキストを指定します。

以下のキャプチャのようにメッセージ本体にtextをしている場合は、見分けがつかなくなります。

pretext.png

複数のattachmentを付加する場合は、有効ですね。

スクリーンショット 2017-07-01 14.39.05.png


指定例

"pretext": "これがpretext",


author parameters


解説

Authorの情報を指定する一連のパラメータです(author_で始まる)。

author.png


  • author_name

    Authorの名前

  • author_link

    Authorのリンク(author_nameがリンクテキストになる)

  • author_icon

    Authorのアイコン(画像URLを指定する)


指定例

"author_name": "daikiojm",

"author_link": "http://qiita.com/daikiojm",
"author_icon": "https://avatars1.githubusercontent.com/u/10055293?v=3&u=1d1491fc3c27e10e93cc364ee0556a3b768c29b2&s=100"


title


解説

attachmentのタイトルです。

title.png


指定例

"title": "TEST",


title_link


解説

タイトルのリンクです。


指定例

"title_link": "http://qiita.com/daikiojm",


text


解説

attachmentの本文です。


指定例

"text": "test:goode",


改行は\nで

"text": "test:goode\ntest2",



fields


解説

1つのattachment内に複数のグループを表示させたいときに使用します。

attachment内にattachmentを入れ子表示するイメージ。

fields.png

横並びのfields(shortを指定した場合)

スクリーンショット 2017-07-01 15.59.15.png


  • title

    グループのタイトル

  • value

    グループの内容

  • short

    attachmentの半分の横幅で表示させるフラグ


指定例

"fields": [

{
"title": "fields attachment1",
"value": "fields test",
},
{
"title": "fields attachment2",
"value": "fields test",
}
]


short

"fields": [

{
"title": "fields attachment1",
"value": "fields test",
"short": "true"
},
{
"title": "fields attachment2",
"value": "fields test",
"short": "true"
}
]


image_url


解説

attachmentに埋め込む画像URLを指定する。

対応フォーマットはGIF, JPEG, PNG, BMP

スクリーンショット 2017-07-01 16.12.41.png


指定例

"image_url": "https://qiita-image-store.s3.amazonaws.com/0/79414/ea00d65c-b9b7-3b97-df98-11d5b2fc6bfa.png",


thumb_url


解説

attachmentに埋め込むサムネイル画像URLを指定する。

対応フォーマットはGIF, JPEG, PNG, BMP

image_urlとは画像の表示のされ方が違う。

スクリーンショット 2017-07-01 16.18.41.png


指定例

"thumb_url": "https://qiita-image-store.s3.amazonaws.com/0/79414/741aebb5-d320-4eb1-f765-59d462f32515.png",


footer


解説

attachmentに埋め込むフッター情報の一連のパラメータです。

footer.png


  • footer

    フッター情報を指定します。
    最大文字数は300文字

  • footer_icon

    フッターアイコンの画像URLを指定する。


  • ts

    attachmentに付加する情報に対するタイムスタンプ(UNIXタイムスタンプ)を指定します。
    ログ系の通知ボットなどを実装する際は便利かも(?)


指定例

"footer": "Send from Python",

"footer_icon": "https://avatars1.githubusercontent.com/u/10055293?v=3&u=1d1491fc3c27e10e93cc364ee0556a3b768c29b2&s=100",
"ts": "1498894191",


出典

slack API: Attaching content