IFTTTを使って、Twitterに流れてくるテスト関連の話題をSlackに流し込んでみました

f:id:trickmr:20180304153429j:plain

きっかけ

先日、Google Homeから「もくもくなう」とつぶやけるアプレットを作ってみました。 no-plan.hatenablog.jp そのときに利用したのが「IFTTT」というサービスで、これがとても面白かったので、別のアプレットを作ってみました。

ユーザーストーリー

  • 個人の趣味として
  • Twitterに流れてくる「ソフトウェアテスト」に関する話題を見逃さないために(見逃してもあとで気付けるようにするために)
  • テスト関連の話題を拾って記録しておいてくれるようにしたい

IFTTTとは

「IF This Then That」の略で、要するに「This」に設定したアプリケーションのふるまいを入力として、「That」に設定したアプリケーションのふるまいとして出力してくれるサービスのことです。

IFTTT - Wikipedia

Google Homeから「もくもくなう」とつぶやけるアプレット』を例に取ると、

  • 「This」のふるまい:「Googleアシスタント(Google Homeの中の人)」が「『もくもくなう』という文字列を受け取ること」
  • 「That」のふるまい:「Twitter」が「『もくもくなう』とつぶやくこと」

となります。

実装

IFTTTのUIに従って、以下の要領でアプレットを作ります。

  • 「This」に「Twitter」を指定し、トリガーとして「New tweet from search」を選択。
  • キーワードに「テスト戦略」など、好きな用語を指定。
  • 個人のSlackアカウントに、書き込み先に使う専用チャンネルを作成。
  • 「That」に「Slack」を指定し、先ほど作成したチャンネルを指定。

IFTTTのここがすごい

ノンコーディングで、下記のカスタマイズを除けば、3分程度で実装完了してしまいました。 お昼休みにちょこっと調べてさくっと実装。これはやばい。

困ったこと

実際に動かしてみると、部分一致でキーワードを拾ってきてしまいました。 たとえば、「テストタイプ」キーワードの場合、「心理テストです!あなたの性格タイプは~」みたいなものが拾われてしまいました。 そこで、伊藤由貴(@yoshikiito)さんに頂いたアドバイスなどを参考にしながら、以下の要領で「This」の検索条件をカスタマイズしました。 ついでに、複数のキーワードをひとつのアプレットにまとめてみました。

  • キーワードを「"」でくくる
  • 各キーワードをOR条件でつなぐ

要するにSQLのWHERE句を書くイメージですね。

以下の要領で書いていけば、キーワードをどんどん増やせます。

  • 「"テスト戦略" OR "テスト計画" OR "テスト設計" OR "テスト観点" OR "テストタイプ" OR "テストレベル" OR "テスト手順"」

※あまり増やすと怒られそうなので自重しています

結果

こんな感じで、指定したチャンネルに情報が流れてきます。 f:id:trickmr:20180304145905j:plain

まとめ

お手軽簡単便利にアプレットが実装できるというのがとにかくすごいですね。 多くのサービスに対応していて、パズル的に色々な組み合わせを試してみたくなる仕掛けになっているところも面白いです。 「アプリケーションをつくる」作業を辛くない、むしろ楽しいと感じさせてくれるサービスだなと感じました。 今後も色々とレシピを試してみて、自分が動かなくても済むように頑張っていきたいです。