モヒカンメモ

髪色が定期的に変わることに定評のある(比較的)若者Webエンジニアの備忘録

SlackのMessage Retention Policyを設定して古いメッセージ、ファイルを自動削除する

この記事で分かること

  • Slack プライベートチャンネル のメッセージ / アップロードしたファイルを自動削除する方法

事前条件

  • Slackの スタンダードプラン or プラスプラン を契約している
  • SlackのTeam settingで、Message Retention Policyのオーバライド許可設定済み or 依頼すれば設定してもらえる
  • 自動削除を設定したいチャンネルがprivateである (privateに変更できる)

上記のすべてを満たせない方にとっては無価値な記事です :dogeza:

まえがき

Slackにそこそこ大きなファイルを定期的にアップロードしている方、ストレージ容量は気にしていますか?

ファイルストレージ

各 Slack チームごとに、アップロードファイル保管用のストレージが提供されます。ストレージ容量はプランによって異なります。 フリープラン — チーム全体で最大5GBまで スタンダードプラン — チームのメンバー1人につき最大10GBまで プラスプラン — チームのメンバー1人につき最大20GBまで Slack Enterprise Grid — チームのメンバー1人につき最大1TB (1,000 GB) まで

get.slack.help

ストレージ容量がいっぱいになったら新規アップロードができなくなるらしいので、定期的なお掃除が必要です。

お掃除バッチ書くのめんどくさいなー、と思って他の方法がないか調べていたら Message retention policy という設定を使って自動削除を実現する方法を見つけたので、使ってみました。

Message retention policy (メッセージ保管ポリシー) とは

get.slack.help

ざっくり言うと、どのぐらいの期間、メッセージ(アップロードされたファイルを含む)を残すか、という設定です。 デフォルトだと全期間残す設定になっています。

設定のスコープは、チーム全体 (つまり全てのチャンネル) or 個別チャンネルから選べます。

これを使えば、もう参照しないであろう1年前のファイルを自動削除する、ということが 開発工数ゼロで実現できます!素敵!結婚して欲しい!!!

ためしてみた

自分宛DMで試してみました (プライベートチャンネルでも手順は同じです)

1 チャンネル右上にある設定を押す

f:id:pinkumohikan:20170731211212p:plain

2 ‘Set message retention policy’ を押す

f:id:pinkumohikan:20170731211250p:plain

すると、このようなポリシー設定画面が表示されます

f:id:pinkumohikan:20170731211351p:plain

3 ‘Retain all messages for a specific number of days’ を選ぶ

f:id:pinkumohikan:20170731211425p:plain

4 Durationに残したい日数を入力

f:id:pinkumohikan:20170731212802p:plain

‘Save setting’ を押して確定

こんなメッセージが飛ぶ

f:id:pinkumohikan:20170731211625p:plain

5 動作確認

こんな事を書いてしまっても

f:id:pinkumohikan:20170731211757p:plain

翌々日には綺麗サッパリこの通り!

f:id:pinkumohikan:20170731211816p:plain

注意事項

ピンやスターが有っても消されます

Tip : チームのメンバーによって ピン や スター が追加されたものも含み、全てのメッセージにこのメッセージ保存ポリシーが適用されます。

とある通り、慈悲はありません。 必要なメッセージはSS撮るなり、コピペするなりしてバックアップを取っておいて下さい。

一度消されたメッセージ、ファイルは復旧できません

いつから復旧できると錯覚していた? 「過去のやり取りを捨ててしまっても問題がないか?」はちゃんと確認して下さい。

一般ユーザはプライベートチャンネル or DMでのみポリシーを設定可能

パブリックチャンネルにはポリシー設定できない らしいです、残念。 どういう意図でそうしているんですかね?

まとめ

Slackの「Message retention policy」を設定しておけば、n日経ったメッセージ、ファイルを自動削除できる