Slack APIの効率のよいパラメータ検証をReferenceを用いてやってみた

Slackのメッセージ投稿用APIにて、メッセージフォーマットの検証を効率良く実施できるReferenceのパラメータ指定について、戸惑いやすい部分をまとめました。
2019.01.18

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

Slackでの利便性向上のためにはApp作成は欠かせない一手です。

所謂API GatewayとAWS Lambdaでの組み合わせを利用して、お手軽なサーバレスアプリの作成に取り掛かるケースは多いと思いますが、意外とSlackへ送信するメッセージの加工が手間取るものです。

業務で使う便利アプリ作成を試みる中、恐らく利用頻度が高いと思われるpostMessageのパラメータテストにて、試行錯誤してみたことをまとめてみました。

Slack API Reference

投稿用のスクリプト等にて想定した通りの出力になるまで調整する、という繰り返しでの負担を軽減するためにも、Slack API ReferenceのTestフォームは欠かせません。

以下、Testフォームでの指定で気をつける必要のあるパラメータについて注釈をいれてみます。

token

所謂LegacyTokenの指定を行います。OAuth2.0を利用したアプリには用いることが出来ないパラメータとなります。

channel

チャンネル名のkeyとなります。わからない場合はブラウザでチャンネルを開いて、以下のようなURL構成のうちXXXXXXXXの部分を拾いましょう。

https://domain.slack.com/messages/XXXXXXXX/

attachments

JSON形式で指定しますが、最低限必要な値としてfallbackがあります。最小限の指定は以下のようになります。

[{ "fallback": "dummy." }]

他の値を充当しても、fallbackが抜けていた場合は正常なポストができません。

まとめ

Slack API Referenceでは、メッセージ投稿API以外にも多数のAPIについてテスト可能です。

意図したフォーマットや動作になるまでにはそれなりの試行回数が重なると思われますが、テスト投稿機能を利用することで効率のよい検証が行えると思われます。

API GatewayとAWS Lambdaを利用した便利アプリ作成過程については、またの機会にまとめてみます。