ここがすごいよMattermost CLI(良い点と悪い点)


この記事について

この記事は、aslead Agileの開発チーム「オキザリス」にて行っているアウトプット企画である
チーム「オキザリス」Advent Calendar」の15日目の記事です。

Mattermost CLI って使ってますか?

Mattermost CLI というものが存在することをご存じでしょうか?
Mattermostがインストールされているサーバ上で実行することができるコマンドラインインタフェース(CLI)で、Mattermostのシステム構成を変更したり、ユーザを追加したりと様々なことをコマンドから行うことができるというものです。

でも、Mattermostのシステム構成変更とかユーザの追加なんて画面上(GUI)からできるし、コマンドなんて必要ないじゃん。
と思ったあなた、ちょっと待ってください。

Mattermost CLI ではGUIにない素晴らしい点がいくつもあるんです!
ということを語りたいと思いますのでお付き合いください。

※ Mattermost 5.27.1
※ Mattermostについてはこちら

前提

CLIコマンドはMattermostルートディレクトリ配下のbinディレクトリにあります。
標準だと、/opt/mattermost/binにあるはずなので確認してみてください。
また、CLIコマンドはMattermostをインストールしたユーザで実行してください。

CLIの詳細は 公式ドキュメント(英語)を参照ください。

すごいところ① GUIでできない操作もCLIならできる(こともある)

【チームを削除する】

GUIではチームを削除することができません。
でもテスト的に作成したチームや恒久的に不要で残っていると邪魔なチームなどは消したくなるのが心情です。
大丈夫、CLIならチーム削除が可能です。ぶら下がるチャンネル情報もまとめて削除してくれますよ。

実行例

mattermost team delete myteam

注意点

データベースから投稿を含むすべての関連情報とともにチーム情報が完全に削除されます。
削除するチームにぶら下がるチャンネル情報もまとめて削除してくれるため、データを綺麗にしたいときに重宝します。

【非公開チャンネルを公開チャンネルに変更する】

公開チャンネルを非公開チャンネルに変更するのであればGUIで簡単にできます。
しばらくオープンに会話していたけれどお金の話が増えてきたから非公開チャンネルにしよう、というシーンはよくあります。
逆に、非公開チャンネルで会話してたけれど特に機密事項もないし、むしろみんなと共有したほうが良いから公開チャンネルにしようというシーンもまあまあありそうですが、画面から変更することはできません。
でも大丈夫、CLIならそんなシーンにもバッチリ対応できます。

実行例

mattermost channel modify myteam:mychannel --username myusername --private

すごいところ② CLIならデータ投入も簡単にできる

チームを作って、チャンネルを作って、ユーザを追加して。
数が少なければ対して苦にならない作業も大量のデータとなれば話は別。
ユーザを50名追加、、、GUIでちまちまやってられません。
でも大丈夫、CLIでなら(少しは)簡単に追加することができます。

実行例

# チームの作成
team create --name mynewteam --display_name "My New Team"

# チャンネルの作成
mattermost channel create --team myteam --name mynewchannel --display_name "My New Channel"

# ユーザの追加
mattermost user create --email [email protected] --username userexample --password Password1

すごいところ③ 操作が簡単に正確に再現できる

Mattermostへのシステム構成の変更やチーム・チャンネルなどのデータ作成。
別の環境へも同じ操作をしたいことはよくあります。
例えばローカルで実施した操作をテスト環境でも行いたい、など。
GUIでは例えば設定手順書などを準備し、それをチェックしながら作業を進めていくことになります。
でも、目視チェックが入る人手の作業ではミスも起こりやすいですよね。
大丈夫、CLIでなら1度実行したコマンドをそのままほかの環境で実行するだけなのでミスも起こりません!(きっと)

ポイント

コマンドはテキストなどで保存しておきましょう。

すごいところ④ コマンド生成用ツールも簡単にできる

ツールというか、、、Excelの文字列連結を使って簡易的なコマンド生成用のファイルを作成することができます。
例えばExcelでユーザリストを作っておきます。
そのリストのセル値を使って数式を駆使すれば簡単にユーザ登録用ファイルの出来上がりです。(背景色黄色部分に数式を埋め込んでます)

つらいところ Linuxコマンドが使えないとつらい

そもそも論になりますが、サーバ上で作業するためにはLinuxコマンドの知識が必須になります。
また、サーバ上での作業のため権限の問題など、作業できる人が限られるというのが実情でしょう。
とはいえこの記事を最後まで読んでくれている方は上記問題をクリアされてる方だと思うので大丈夫ですね。

おわりに

GUIで簡単にシステム構成を操作したりすることができるけど、CLIにもCLIの良さがあることが伝わったでしょうか?
「〇〇したいけど画面上からできない」といった場合でもすぐに諦めず、そっと公式ドキュメントを開いてみましょう。もしかしたらやりたいことがCLIならできるかもしれません。
公式ドキュメントは英語ですがブラウザの翻訳機能を使えば怖くありません。
いろいろとMattermostの可能性を探ってみてください。