設計関連のツイートがSlackに自動で集まる仕組みを作る
作りたいもの
「設計」や「アーキテクチャ」といったキーワードを含むツイートがあったときにSlackにそれを通知する。
背景
最近は自分の中で設計がアツい。たくさん学んで実践して、ボブおじさんも唸るソフトウェアを作れるようなエンジニアになりたい。
そんなわけで設計関連の情報に対して感度の高いアンテナを張っておきたい。
そこで、そういった情報のリソース源の1つであるTwitterで呟かれた設計関連のツイートをSlackに自動で集め、効率的に情報収集をできる仕組みを作っておきたい。
IFTTTで簡単にできちゃった
TwitterのAPIを定時で叩いてWebhookでSlackに通知するものをRails7かAWS Lambdaでも使って作ろうか、と考えていたがIFTTTで簡単に作ることができた。
IFTTTとは、
IFTTT is short for If This Then That, and is the best way to integrate apps, devices, and services. We help devices, services, and apps work together in new and powerful ways.
らしい。ざっくり言うと、異なるサービスを連携するのに超便利なツールだ。
由来のIf This Then That
にある通り、If (アプリA)が(〜したら)、(アプリB)で(〜させる)
といった連携をGUIをポチポチするだけで簡単に設定できる。
今回の例で言うと、If (Twitter)が(設計関連のツイートをしたら)、(Slack)で(通知させる)
となる。
作り方
IFTTT, Twitter, Slackのアカウントは事前に準備されたい。
では具体的な作り方を見ていこう。
まずはIFTTTのページ右上Create
からAppletsを作ろう。Appletsが1つのIf This Then That
にあたるものになる。
If This
をクリックし、If (Twitter)が(設計関連のツイートをしたら)
の部分を作っていく。
たくさんの連携できるアプリが表示されるが、今回はTwitterを選択する。
Twitterでできる機能(トリガー)が表示される。この中からNew tweet from search
を選択する。
ここで設定した検索オプションに引っかかったツイートが作成されたときにSlackに通知されることになる。検索オプションについてはこちらを参考にされたい。
次にThen That
でSlackを選択する。SlackのできるアクションはPost to channel
のみなのでそちらを選択する。
Slackの通知の細かな設定をする。
これだけでTwitterとSlackの連携が完了し、無事にSlackにツイートが通知されることも確認できた。
検索オプションの失敗
最初、検索オプションとして設定したのは(設計 OR アーキテクチャ)
だった。しかし、これではソフトウェア以外の設計やアーキテクチャも含んだツイートが通知されてしまった。
そこで、検索オプションを(オブジェクト指向設計 OR ドメイン駆動設計 OR テスト駆動設計)
とより具体的にするようにした。
これが自分のAppletsの最終形だ。
おわり
IFTTTを使うことで簡単にアプリ関連形をすることができた。TwitterとSlack以外にも設定できるアプリはたくさんあるので色々と試して遊んでみたい。