AWS Chatbot が Slack からのコマンド実行をサポートしたようなので早速試してみました。
AWS Chatbot の設定
まずは AWS のコンソールで AWS Chatbot のページに移動します。
Configure a chat client
> Chat client
で Slack
を選択し、Configure client
を押下します。
Slack OAuth のページに遷移するので、右上の Workplace を変更するようだったら変更し、Allow を押下します。
再び AWS 側に遷移するので、Slack channel
の設定をします。
Permissions
の Policy templates
ではデフォルトで Notification permissions
が選択されているので、Lambda を実行するために必要な Lambda-invoke command permissions
を追加で選択します。
Notifications
の設定は特に行わず、決定します。
Slack の設定
さきほど、AWS Chatbot の設定で選択したチャンネルで
/invite @aws
を入力し、チャンネルに join させます。
問題なく join できたら
@aws help
を入力し、help が表示されるか確認してみます。
Lambda の作成
AWS Chatbot から Lambda 実行のテストを行いたいので、test-lambda-function
という名前で適当に Lambda を作成します。
Lambda を実行してみる
準備が全て整ったので slack から
@aws lambda invoke test-lambda-function --region ap-northeast-1
と入力して Lambda を実行します。
本当に実行して良いか聞かれるので Yes を選択します。
Lambda の実行結果も Slack に通知されました!
まとめ
AWS Chatbot はまだ beta 版ですが、Lambda を実行できたりと、今後さらにできることが増えていきそうです。
今回は Lambda の実行のみでしたが、aws cli と同じような感じで使えるみたいなので他の使い方も色々試していきたいと思います。