前回の記事でレガシーになっているSlackのIncoming Webhooksでの通知方法を書いたので、 今回はそれを新しい方のSlack Appで実行する方法を書きたいと思います。
といってもやり方は簡単で、
というような順になります。
https://api.slack.com/apps で新たにAppを作成します。
作成されたアプリのIncoming Webhooksを選択し、有効化します。
通知先のチャンネルを選択します。
そうすると新たなURLが発行されるので、LambdaのPOSTリクエストしている箇所に貼り付けます。
const options = {
hostname: 'hooks.slack.com',
port: 443,
path: '/services/XXXXXXX/XXXXXXX/YYYYYYYYYYYYYY', // ← 新しいURLに変える
method: 'POST',
headers: {
'Content-Type': 'application/json', // ← x-www-urlencodedの場合、jsonに変更
'Content-Length': data.length
}
};
旧Incoming Webhooksではchannel,usernameやemoji_iconが都度変更可能でしが、Slack Appの場合は変更不可能になりました。 その代わり?に柔軟なmessagingが作成可能になりました。