Slack はデスクトップアプリとかブラウザーで使っているけど CLI からメッセージを post したりファイルをアップロードしたりがちょいちょいあるので、curl コマンドでメッセージを Slack に post したりするのをメモしておく。
curl コマンドでメッセージを Slack に post
シンプルなメッセージ
curl コマンドでシンプルなメッセージを Slack に post するには chat.postMessage メソッドを使う。
$ curl --request POST \
--form channel=${SLACK_CHANNEL} \
--form token=${SLACK_TOKEN} \
--form 'text=Hello World!' \
https://slack.com/api/chat.postMessage
SLACK_CHANNEL はメッセージを post する Slack のチャンネルとかグループの ID を指定する。
ブラウザーで Slack を表示するとアドレスバーが https://app.slack.com/client/xxxxxxxxx/yyyyyyyyy みたいになっていると思うので yyyyyyyyy の部分を指定すればよい。
SLACK_TOKEN は Slack OAuth トークンを指定しておく。
ファイルのアップロード
curl コマンドでファイルを Slack に upload するには files.upload メソッドを使う。
curl --request POST \
--form channels=${SLACK_CHANNEL} \
--form token=${SLACK_TOKEN} \
--form file=@${FILEPATH} \
--form title=タイトル \
--form initial_comment=コメント \
https://slack.com/api/files.upload
FILEPATH はアップロードするファイルのパスを指定する。