この記事で分かること
- 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) まで
ストレージ容量がいっぱいになったら新規アップロードができなくなるらしいので、定期的なお掃除が必要です。
お掃除バッチ書くのめんどくさいなー、と思って他の方法がないか調べていたら Message retention policy という設定を使って自動削除を実現する方法を見つけたので、使ってみました。
Message retention policy (メッセージ保管ポリシー) とは
ざっくり言うと、どのぐらいの期間、メッセージ(アップロードされたファイルを含む)を残すか、という設定です。 デフォルトだと全期間残す設定になっています。
設定のスコープは、チーム全体 (つまり全てのチャンネル) or 個別チャンネルから選べます。
これを使えば、もう参照しないであろう1年前のファイルを自動削除する、ということが 開発工数ゼロで実現できます!素敵!結婚して欲しい!!!
ためしてみた
自分宛DMで試してみました (プライベートチャンネルでも手順は同じです)
1 チャンネル右上にある設定を押す
2 ‘Set message retention policy’ を押す
すると、このようなポリシー設定画面が表示されます
3 ‘Retain all messages for a specific number of days’ を選ぶ
4 Durationに残したい日数を入力
‘Save setting’ を押して確定
こんなメッセージが飛ぶ
5 動作確認
こんな事を書いてしまっても
翌々日には綺麗サッパリこの通り!
注意事項
ピンやスターが有っても消されます
Tip : チームのメンバーによって ピン や スター が追加されたものも含み、全てのメッセージにこのメッセージ保存ポリシーが適用されます。
とある通り、慈悲はありません。 必要なメッセージはSS撮るなり、コピペするなりしてバックアップを取っておいて下さい。
一度消されたメッセージ、ファイルは復旧できません
いつから復旧できると錯覚していた?
「過去のやり取りを捨ててしまっても問題がないか?」はちゃんと確認して下さい。
一般ユーザはプライベートチャンネル or DMでのみポリシーを設定可能
パブリックチャンネルにはポリシー設定できない らしいです、残念。 どういう意図でそうしているんですかね?
まとめ
Slackの「Message retention policy」を設定しておけば、n日経ったメッセージ、ファイルを自動削除できる