🐓
Firebase Cloud Functionsでwebhookを使ってSlackに投稿する
Cloud Functionsでwebhookを使って、slackに投稿するメモ。
Slackの設定
Slack Appを作る
まずは以下のURLからSlack Appを作ります。名前と追加したいSlackのスペースを選択します。
Incoming Webhooksを有効化する
Slack Appを作った後の画面にある「Add features and functionality」の中の「Incoming Webhooks」を選択。
Activate Incoming Webhooksを「On」にします。
Webhook URLを生成する
Incoming Webhooksを有効化した後、画面下にある「Add New Webhook to Workspace」をクリック
遷移した先の画面で投稿先のチャンネルを選択しURLを生成します。
Cloud Functions
@slack/webhook追加
Cloud Functionsの package.json
があるディレクトリで @slack/webhook
を追加する
yarn add @slack/webhook
定期実行でSlackに投稿してみる
今回は定期実行でサンプルテキストをSlackに投稿してみます。
import * as functions from 'firebase-functions'
import { IncomingWebhook } from '@slack/webhook'
exports.scheduledFunctionCrontab = functions.pubsub
.schedule('0 7 * * *')
.timeZone('Asia/Tokyo')
.onRun(async (context) => {
// 取得したwebhook urlを記入
const webhook = new IncomingWebhook( 'https://hooks.slack.com/services/xxxxxxxxxx'
)
const params = {
text: `こけこっこー`,
}
await webhook.send(params)
return
})
これで毎朝7時に通知がきます。
Discussion