[Slack/IFTTT]コロナニュース追うのに疲れたのでSlackチャンネルに垂れ流すことにした方法


## 経緯
こんにちは。[LIFE PEPPER](https://lifepepper.co.jp/) の片岡です。

みなさん、コロナ対策どのように行っていますでしょうか。

弊社のように基本的にオフラインで業務を行ってきた会社にとっては、ロックダウンに備え、フルリモートに関しても対策を打つ必要があり、現在は開発と平行で組織単位でし続けるための施策を、と動き回っています。

こういう時こそビジネスサイド・バックオフィス・開発で協力して、いかに組織的な生産性を維持する、あわよくばコロナ問題が収束した際にも活用できるように取り組めるかが重要だなと日々実感しています。

特にタイムリーにコロナニュースが複数のメディアで毎日のように取り上げられる中で、各社、正確な情報にリーチできることの重要性が非常に高くなっていると思います。

そんなこんなで、今回はNewsサイトからコロナニュースだけを取得し、Slackチャンネルに垂れ流すシステムを作りました。

といっても、今回は `ノンプログラミング`で行えることなのと、汎用性の高い方法でもあるのでスクショもりもりで手順をシェアしていきます。

もし、皆さんの組織でも活用できそうだったら是非やってみてください。

## 前提
今回は [IFTTT](https://ifttt.com/)(イフト)というシステムを使用してSlackとNewsサイトとを連携していきます。

このシステムを使用することで、ノンプログラミングで異なるプラットフォーム間とを連携させることができます。

TwiterやFacebookとも連携できるので、個人で使用しても便利ですね。

具体的な使い方に関しては[さまざまなサービスが連携できる「IFTTT（イフト）」の使い方 (1/3)：IFTTT入門 - ＠IT](https://www.atmarkit.co.jp/ait/articles/1711/22/news031.html)を参考にして行うことができます。

2年ほど前の記事であり、所々更新されているところもあるので、この記事では *2020/03/28* 時点での情報を記載していきます。

`用語`

* レシピ 

IFTTT特有の用語で、プラットフォーム間を連携された際に作成されたサービスのことを指します。
今回はこのレシピを使用したり、作成したりしていきます。


## 共通手順
作成済みレシピとカスタムレシピを使用することができるのですが、それ以外は共通手順手順なので、以下にまとめます。

1. SlackのIFTTT導入ページを参照する
[Slack 対応 IFTTT | Slack](https://slack.com/intl/ja-jp/help/articles/360002091107-Slack-%E5%AF%BE%E5%BF%9C-IFTTT)

2. SlackのAppディレクトリページへ飛び `IFTTT` を追加する
[IFTTT | Slack App ディレクトリ](https://lifepepper.slack.com/apps/A028LGAFF-ifttt)

3. `Connect` をクリックする
[Slack works better with IFTTT](https://ifttt.com/slack)

4. Google もしくは Facebookアカウントでログインする
[Sign in to your IFTTT account - IFTTT](https://ifttt.com/login)

5. RSS Feed URLを取得する
RSS Feed URLは通常のURLとは違ってXML形式でコンテンツを出力するURLです。公式で出していないこともありますが、
[RSSフィード取得・検出ツール - BeRSS.com](https://berss.com/feed/Find.aspx)などを使えば、ニュースサイトからRSS URLを取得することができます。
作成済みレシピを使用する際にはキーワードを一緒にURLに含める必要があるので、以下の記事を参考にURLを作成することができます。

## 作成済みレシピを使う
1. [Slack works better with IFTTT](https://ifttt.com/slack) にアクセスし、`Post to a channel when new articles appear in the RSS Feed you choose` というレシピを選択する (最上段の右にあるやつ)
<img width="1679" alt="スクリーンショット 2020-03-28 18.04.24.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/228436/0b6a02bc-968a-4755-cc55-affc6556dff3.png">

2. `Connect` を選択する
<img width="1677" alt="スクリーンショット 2020-03-28 18.35.07.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/228436/61cc7030-affa-672e-5a60-909cf4310d59.png">
3. `Paste a RSS feed item` に記述し、SlackのPost先を指定する
<img width="1667" alt="スクリーンショット 2020-03-28 18.35.27.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/228436/45140b61-7709-fe6e-721c-3d3e23e7d347.png">
今回は`コロナ` というキーワードをURLに含めたGoogle NewsのRSS Feed URLを使用しています。
`https://news.google.com/rss/search?q=%E3%82%B3%E3%83%AD%E3%83%8A&hl=ja&gl=JP&ceid=JP:ja`
<img width="1655" alt="スクリーンショット 2020-03-28 18.47.30.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/228436/eeb00896-6034-f12b-e35d-d815877ca854.png">
最後にSlackのチャンネルを選択して、`Save` をクリックします。
4. `Connected` となったことを確認する
<img width="1673" alt="スクリーンショット 2020-03-28 14.55.14.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/228436/aa2ccb08-63cc-306b-205b-8b3c1049a1a5.png">
5. 少し経ったら新しいフィードがSlackに通知されてきます
<img width="1262" alt="スクリーンショット 2020-03-28 15.11.38.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/228436/b64fb8ab-c6c0-64c2-2401-1fc942cec0c9.png">

## カスタムレシピを作成する
1. プロフィールメニューの中の `create` を選択する
[Sign up for a free account - IFTTT](https://ifttt.com/create)
<img width="1676" alt="スクリーンショット 2020-03-28 13.18.47.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/228436/0b1cfa5a-a3a1-5fe2-06b3-00ec444ff89b.png">
2. `+ This` の部分をクリックする
<img width="1675" alt="スクリーンショット 2020-03-28 16.09.19.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/228436/f4c091eb-8fc6-8a60-559b-9a382b62406f.png">
3. Service一覧が表示される
<img width="1672" alt="スクリーンショット 2020-03-28 13.26.22.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/228436/791360bb-b24f-a139-bcc2-c076b7ccb223.png">
4. 検索バーに`feed`と入力し`RSS Feed`を選択する (Feedlyは有料で使えるRSS Feedサービスです)
<img width="1677" alt="スクリーンショット 2020-03-28 14.59.14.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/228436/8feff03e-b2f9-86a3-3ffb-977555bfd7a1.png">
5. `New feed item matches` を選択する (これはRSSから任意のキーワードの Feedを選択することができるサービスです)
<img width="1674" alt="スクリーンショット 2020-03-28 15.00.35.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/228436/c80feb82-1a10-829d-7cd2-900e6de22699.png">
6. `Keyword or simple phrase` に特定のキーワードを入力し、`Feed URL` にRSS Feed URLを入力し、 `Create trigger` を選択する
<img width="1675" alt="スクリーンショット 2020-03-28 16.38.23.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/228436/082045ac-3ca3-f190-563b-4ccec5f52947.png">
今回はキーワードが `コロナ` で RSS Feed URLは `ハフィントンポスト日本版` の `http://www.huffingtonpost.jp/rss/index.xml` を使用します。
7. `+ That` の部分をクリックする
<img width="1677" alt="スクリーンショット 2020-03-28 17.18.33.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/228436/c39bb45c-8b3a-51f2-cbb9-4e77606bc5ba.png">
8. Service一覧画面が表示されるので、`slack` と検索し、選択する
<img width="1678" alt="スクリーンショット 2020-03-28 17.18.56.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/228436/7cdc1c49-0ea3-c5bb-aa3d-702a42144aa9.png">
9. `Choose acction` で `Post to channel` を選択する (タイトル通りSlackのチャンネルに投稿するアクションです)
<img width="1672" alt="スクリーンショット 2020-03-28 17.19.10.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/228436/1430a2e0-0deb-5f09-ce44-edc651c07af5.png">
10. 連携したいSlackのチャンネルを選択したり、Messageの内容を編集する
(特にデフォルトでも使えるので、Slackの設定だけしておきます)
<img width="1675" alt="スクリーンショット 2020-03-28 17.20.18.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/228436/1c5dbd55-7413-3fde-8349-1958beb44acc.png">
Slackの設定はFeedのPost先を指定します。
<img width="1671" alt="スクリーンショット 2020-03-28 17.21.31.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/228436/2a089978-bbb3-4c5e-c6ee-f071568cf9bf.png">
入力完了で`Create action`をクリックします。
11. これで登録は完了したので、`Finish`を選択する
<img width="1680" alt="スクリーンショット 2020-03-28 17.22.02.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/228436/654e7d74-7c05-c478-7e7b-e1874dbb0d88.png">
12. `Connected` となっていれば連携完了
<img width="1680" alt="スクリーンショット 2020-03-28 17.22.22.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/228436/863104fb-25b6-5118-02f3-101301840f14.png">

## あとがき

最近、Slackの活用を見直していることもあり、今回のような連携に関しても課題感を持って臨むことができました。

簡単なことですが、エンジニアではない人からしたら発想すら湧かなかったりするので、僕たちエンジニアは得意なところで助けてあげれれば良いかなとも思いました。

コロナだからやる、ではなく今後も運用されるようなシステムをサクッと導入していければ、より生産性の高い組織へとぶち上げてあげられるのではないでしょうか。

`参考`

* [Google News Rss(API) - Qiita](https://qiita.com/KMD/items/872d8f4eed5d6ebf5df1)
* [さまざまなサービスが連携できる「IFTTT（イフト）」の使い方 (1/3)：IFTTT入門 - ＠IT](https://www.atmarkit.co.jp/ait/articles/1711/22/news031.html)
* [RSSフィード取得・検出ツール - BeRSS.com](https://berss.com/feed/Find.aspx)
* [IFTTT（イフト）とは？異なるプラットフォームを連携する便利ツールの使い方とアプレット9選｜ferret](https://ferret-plus.com/7940)