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
はアップロードするファイルのパスを指定する。