id:kizashi1122 です。
前回のエントリで発行した API Gatewayの URL をメモしておきます。
では Slack にアプリの設定をしましょう。
Slack 上でアプリを作る
こちらにアクセスします。
Slack API: Applications | Slack
基本設定
Create New App
ボタンを押します。ダイアログで「From Scratch」と「From an App Manifest」を選択しろと言われるので、「From Scratch」を選択します。
アプリ名は「echoapp」としておきましょう。
Event Subscriptions
まずは有効にしましょう。
ここはSlack側で発生したイベントを設定する画面です。
「イベント」と「イベントを受け取るURL」を設定することができます。
Request URLの設定
では、前回のエントリで発行したURLを設定してみましょう。
まだ Lambda を設定してないのでエラーになります。 URLの Verificationとして Slack から飛んでくるリクエストに対して正しくレスポンスを返す必要があります。
https://api.slack.com/events/url_verification
要はリクエストで送られてきた challenge パラメータを、そのままレスポンスに返してくれということですね。 Lambda を以下のように編集してデプロイします。
require 'json' def lambda_handler(event:, context:) # TODO implement # { statusCode: 200, body: JSON.generate('Hello from Lambda!') } req = JSON.parse(event['body']) # event['body'] は文字列 { statusCode: 200, body: req['challenge'] } end
これをデプロイ後に URL にある「Retry」をクリックすると、
「Verified」になりました。
イベントの設定
次にイベントを設定します。イベントは以下で一覧を確認することができます。
いろんなイベント(作る側からするとトリガー)があることがわかります。今回は前回のエントリで書いたとおり
@echoapp hoge
とメンションされたときに発動するようにしたいので app_mention
を選択することになります。
保存して終了です。
まだ Lambda のソースコードは URL 確認用のままです。 次はこれを編集します。
続きはこちら。