どうも、今週は#Webナイト宮崎でLTしてきました!
そのLTの内容を書きます!
にしても、connpassのプロフィールにLTする人の一覧がありますが、
自分のアイコン画像(Facebookの)が高校の時の写真なので
そろそろ変えないとですね
本題に入ります!
今回は、heroku(+SendGrid) + PHP + slack
でslackコマンドを作ってみました。
ソースはこちら→[kin29/slack_command]
こんなslackコマンド
slackの投稿エリアにて、
/(設定したcommand) [メール件名]|[メール内容]
と入力し、エンターを押すと、
1. herokuサーバにキックされる。
2. herokuのadd-onであるSendGridから、メールを送信する。
送信先:WordPressメール投稿機能(プラグインPostie)で設定されたメールアドレス
2′. WordPress(ブログ)に記事が下書きの状態で投稿される。
3.メール送信結果を、slackに投稿する、
使ったもの
– Slack
– heroku
今回はPHP 7.2.12を使用しました。
– SendGrid…メール機能が使えるherokuのadd-onです。
freeプランがあり、最大12,000通/月送信することができます。
※herokuはデフォルトでメール機能が使えません。
作った理由
私はブログを週1は更新する!という目標があります。
そこで、ブログ(kin29.info)のネタを
忘れないうちに、サクッと貯めておきたかったので作りました。
slackで技術的なお話をしてる時や、
レビューの返しなどをもらった時に
「これ使える!」ってネタが思くので、
その時に使いどきかなって思います!
作り方
ソースはこちら→[kin29/slack_command]
1.heroku経由でSendGridを導入する。
- herokuダッシュボードよりCreate new appを押下し、
プロジェクトを作成します。
プロジェクト名がサブドメインになります。
イメージ:https://[プロジェクト名].herokuapp.com/ - herokuダッシュボード > Resources > Add-onsにて、
「SendGrid」を検索し導入する。
Starter – Free(送信通数上限12,000通/月)を選択し、
Provisionを選択。 - SendGridダッシュボード > 左ナビのSettings > API Keys より
「Create API Key」を押下する。
※API Keyはコピーしておく。
2.slack app を新規作成する。
https://api.slack.com/apps より、Create New Appを押下する。
- AppName と 導入するSlack Workspaceを選択する。
※Verification Tokenをコピーしておく。 - Slash Commands の設定
– Command :設定したいslack コマンド
– Request URL :commandが投稿された時に実行されるURL - Install Appより、「Install App to Workspace」を押下する。
→ Incoming Webhookが設定されます。
メール送信結果を投稿するslackチャンネルを選択し、
投稿をAuthorize(許可)する。
※Webhook URL をコピーしておく。
3.heroku でデプロイ
-
- コードを書く → [kin29/slack_command]
- herokuダッシュボード > Setting > Config Varsより
環境変数を設定する。
- herokuダッシュボード > Deploy よりデプロイする。
Heroku Git(Githubでもできます。)
$ git push heroku master //これでデプロイされます。
4.Postie(WordPressプラグイン)を導入し、メール投稿設定をする
Postieは、WordPressのプラグインです。
これにより、メール投稿を使って
Wordpressに記事を投稿することができます。
参考:http://nb-style.info/?p=3072
!!完成!!
最後に
もっともっとslackコマンドつくって、
作業時短化や自動化していきたいです!