Slackでチャンネルの検索が名前だけでなくチャンネルの目的でもできるようになりました

Slackの検索画面にチャンネルタブが加わり、チャンネル名や目的でチャンネルを探せるようになりました。これは地味に嬉しい。
2019.03.28

はじめに

こんにちは。プロダクトグループのshoitoです。

Slackを使っていて 「Go言語を話題にしてるチャンネルあるかな?」 「コンテナを話題にしてるチャンネルは?」 とチャンネルを探したいシーンがあったと思います。

私は昨日気付いたんですが、2019年3月25日からSlackの検索画面にチャンネルタブが加わり、チャンネル名や目的でチャンネルを探せるようになりました。これは地味に嬉しい。

Slackチャンネル検索画面

こちらの公式ブログでアナウンスされていました。 Introducing channel search: an easier way to find channels in Slack https://slackhq.com/introducing-channel-search-for-slack

これまでのチャンネルの探し方

これまでSlackの標準機能ではチャンネル名でしか検索できなかったため、チャンネル名に命名規約を決めて #misc-golang#misc-container のような名前にし、チャンネル一覧から「golang」や「container」でチャンネル名に部分一致でヒットすることを期待して探していました。

チャンネル名で一覧から探す

独自に運用していたチャンネル検索用のスラッシュコマンド

やっぱりチャンネルの名前や目的、トピックでチャンネルを検索したいよなーと思い、独自にチャンネル検索用のスラッシュコマンドを作り、導入していました。

スラッシュコマンドとは https://get.slack.help/hc/ja/articles/201259356

スラッシュコマンドは、 Slack での特定のアクション に対応するショートカットとして機能します。 使い方は、メッセージフィールドにスラッシュコマンドを入力し、Enter キーを選択して送信するだけ。 ワンステップでタスクを実行できます!

Slack /ch Command https://github.com/shoito/slack-ch-command

/ch search 検索ワード とメッセージフィールドに入力すると、チャンネルリストを取得し、名前、目的、トピックに検索ワードが含まれているかどうかチェックします。 下の図はElasticsearchというワードで検索した例です。

Slack /ch command

こちらはSlackアプリケーションとして作っていて、AWS環境にデプロイしています。 作りはシンプルにAmazon API GatewayとAWS Lambda(Python)をAWS SAMで構築しています。

Slack /ch command構成

さいごに

チャンネルの数が数百、数千になるとなかなか目的のチャンネルを探すのも大変でしたが、今回のチャンネル検索機能がSlackで公式に提供されたおかげで楽になりそうです。 Slack /ch Commandは2ヶ月足らずで役目を終えたので供養しようと思います。