オープンソース

一覧へ

9. CSVインポート機能

Rocket.Chatでは、CSVファイルをインポートすることでデータを追加することができます。 CSVファイルから追加できるデータは以下の通りです。

  • チャンネル
  • ユーザ
  • メッセージ

特定の形式で作成したCSVファイルはインポートを行う前にZIPファイルにする必要があります。

本章では、各データのCSVファイルの形式とインポートの方法について解説します。

9.1. CSVインポートの流れ

CSVファイルを用いて、データをインポートするには以下の手順で行います。

  1. CSVファイルの作成
  2. CSVファイルをZIP圧縮
  3. WEB画面からインポート

CSVファイルの作成は、追加したいデータによって形式が異なります。 各ファイルの形式について、以下で解説します。

9.2. ユーザデータのCSVファイル

CSVファイルからユーザデータをインポートする場合、 users.csv ファイルを作成します。

CSVインポートを利用しユーザを追加するためには、以下の形式のCSVファイルを作成します。

ファイル名は、 users.csv で作成します。

testuser2,testuser2@example.com,testuser2
testuser3,testuser3@example.com,TEST3
testuser4,testuser4@example.com,TEST4
testuser5,testuser5@example.com,テスト5

カラムの説明は以下の通りです。

  1. ユーザ名を指定。 @ およびその他の特殊文字は利用できません。
  2. メールアドレスを指定。
  3. 表示名を指定。日本語の指定も可能です。

作成したCSVファイルはZIPファイル形式に圧縮します。

$ zip fileToImport.zip users.csv

圧縮したZIPファイルをRocket.Chatの管理画面からインポートします。 インポート方法については、 CSVファイルのインポート を参照してください。

CSVインポートの後、ユーザ一覧画面に遷移すると、ユーザが追加されていることが確認できます。

_images/user_list.png

Note

CSVインポートでユーザを追加する際に、パスワードを設定することはできません。追加されたユーザにはWelcomeメールが送信され、ユーザ初回ログイン時にパスワードを設定する画面が表示されます。

9.3. チャンネルデータのCSVファイル

CSVファイルからチャンネルデータをインポートする場合、 channels.csv ファイルを作成します。

9.3.1. 追加可能なチャンネル

channels.csv ファイルで追加できるチャンネルは、以下の2種類です。

  • パブリックチャンネル

パブリックチャンネルは、すべてのチャンネルタイプの基礎になります。 パブリックチャンネルを新しく開設すると、誰でもそのチャンネルに参加することができます。

  • プライベートグループ

プライベートグループは、特定のメンバーのみが会話できる閉じられたチャンネルです。 機密性の高い会話をする際に利用します。 プライベートグループに参加するためには、グループの所有者やモデレータと呼ばれる権限を与えられた人間に、招待してもらう必要があります。

Note

メンバー間でのプライベートな1対1の会話を行う、ダイレクトメッセージは channels.csv とは異なる形式のファイルでインポートを行います。詳しくは、 ダイレクトメッセージデータのCSVファイル を参照してください。

9.3.2. チャンネルCSV形式

CSVインポートを利用してチャンネルを追加するためには、以下の形式のCSVファイルを作成します。

チャンネル作成者を管理者ユーザ以外にする場合、インポートを行う際に users.csv もインポートする必要があります。 users.csv の形式については ユーザデータのCSVファイル を参照してください。

チャンネル用CSVファイル名は、 channels.csv で作成します。

"testchannel1","testuser2","public","testuser2;testuser3;admin"
"testchannel2","admin","public",""
"private_test1","testuser4","private","testuser4;testuser5"

カラムの説明は以下の通りです。

  1. チャンネル名を指定。
  2. チャンネル作成者(ユーザ名)を指定。
  3. パブリックチャンネル(public)かプライベートグループ(private)を指定。指定のない場合はパブリックチャンネルとなります。
  4. チャンネルのメンバーを指定。複数指定する場合はセミコロン(;) で区切ります。メンバーには必ず作成者を含めてください。空の場合は作成者のみがチャンネルに参加します。

作成したCSVファイルは users.csv と合わせてZIPファイル形式に圧縮します。

$ zip fileToImport.zip channels.csv users.csv

Note

users.csv と合わせてインポートしなかった場合、すでに存在するユーザをチャンネル作成者として指定しても、全て管理者ユーザ(admin)となるので注意してください。

圧縮したZIPファイルをRocket.Chatの管理画面からインポートします。 インポート方法については、 CSVファイルのインポート を参照してください。

9.4. メッセージデータのCSVファイル

CSVファイルからメッセージデータをインポートする場合、メッセージデータを追加するチャンネルのディレクトリ名を作成し、 messages.csv ファイルを配置します。

ディレクトリとメッセージデータ用CSVファイルは以下のように作成する必要があります。

  • パブリックチャンネル

    • general/messages.csv
    • チャンネル名1/messages.csv
    • チャンネル名2/messages.csv
  • プライベートグループ

    • グループ名1/messages.csv
    • グループ名2/messages.csv
  • ダイレクトメッセージ

    • directmessages/messages1.csv
    • directmessages/messages2.csv

Note

パブリックチャンネルとプライベートグループは、チャンネル名でディレクトリを作成しファイルを配置します。ダイレクトメッセージは directmessages という共通のディレクトリに複数のファイルを配置します。 ダイレクトメッセージの場合のみ、CSVファイルの形式が異なります。

9.4.1. パブリックチャンネル/プライベートグループ

パブリックチャンネルとプライベートグループのCSVファイルの形式は共通です。

CSVインポートを利用してチャンネルにデータを追加するには、まずチャンネル名のディレクトリを作成します。

ここでは、パブリックチャンネルの generaltestchannel1 、プライベートグループの private_test1 にデータを追加する例で解説します。

まず、CSVファイルを配置するためのディレクトリを作成します。

$ mkdir general
$ mkdir testchannel1
$ mkdir private_test1

作成したディレクトリ配下にメッセージ用CSVファイルを作成します。 ファイル名は、 messages.csv で作成します。

  • general/messages.csv
"admin","1589365629000","This is a test message."
"testuser1","1589365629020","This is a test message."
  • testchannel1/messages.csv
"admin","1589865629000","パブリックチャンネルです"
"testuser1","1589965629020","メッセージを送るテストをしています"
  • private_test1/messages.csv
"testuser4","1599965629020","testuser4が送信しています"

カラムの説明は以下の通りです。

  1. メッセージを送信するユーザ名を指定。
  2. ミリ秒単位のタイムスタンプを指定
  3. メッセージ内容を指定。日本語を入力することも可能です。

作成したCSVファイルはディレクトリごとZIPファイル形式に圧縮します。

$ zip -r fileToImport.zip general testchannel1 private_test1

圧縮したZIPファイルをRocket.Chatの管理画面からインポートします。 インポート方法については、 CSVファイルのインポート を参照してください。

9.4.2. ダイレクトメッセージデータのCSVファイル

CSVインポートを利用してダイレクトメッセージにデータを追加するには、 directmessages ディレクトリ配下に、以下の形式のCSVファイルを作成します。

ファイル名は、 messages[NUM].csv で作成します。

Note

[NUM] の部分は数字が入ります。ダイレクトメッセージは1対1のメッセージのため、ダイレクトメッセージの部屋ごとにCSVファイルを分ける必要があります。

CSVファイルを配置するためのディレクトリを作成します。

$ mkdir directmessages

作成したディレクトリ配下にメッセージ用CSVファイルを作成します。

  • adminとtestuser1のダイレクトメッセージ
"admin","testuser1","1589365629000","This is a test message."
"testuser1","admin","1589365629020","Hello message."
"testuser1","admin","1589365629030","こんにちは message."
  • testuser1とtestuser2のダイレクトメッセージ
"testuser2","testuser1","1589365629000","This is a test message."
"testuser1","testuser2","1589365629020","This is a test message."

カラムの説明は以下の通りです。

  1. メッセージを送信するユーザ名を指定。
  2. メッセージを受信するユーザ名を指定。
  3. ミリ秒単位のタイムスタンプを指定
  4. メッセージ内容を指定。日本語を入力することも可能です。

作成したCSVファイルはディレクトリごとZIPファイル形式に圧縮します。

$ zip -r fileToImport.zip directmessages

圧縮したZIPファイルをRocket.Chatの管理画面からインポートします。 インポート方法については、 CSVファイルのインポート を参照してください。

9.5. CSVファイルのインポート

作成したCSVファイルは、管理メニューの インポート から取り込みます。

管理者メニューから 管理 を選択します。

_images/setting.png

インポート画面に遷移し、 新しいファイルをインポート をクリックします。

_images/import_new.png

インポートを行うための情報を入力し、右上にある インポート ボタンをクリックします。

_images/import_file.png

入力する情報の項目は以下の通りです。

設定値
項目名 設定 説明
インポートのタイプ CSV CSVファイルをインポートするため CSV を選択します。
ファイルタイプ アップロードする 作成たファイルをアップロードする場合は、 アップロードする を選択します。この他、 公開URL サーバーファイルパス が選択できます。
ソースファイルの選択 fileToImport.zip 作成したCSVファイルを選択します。

ファイルが読み込まれ、インポートするデータの選択画面に遷移します。 インポートしたいデータにチェックを入れ、右上にある インポートを開始 をクリックします。

_images/userchannel_import2.png

インポートが完了すると、Rocket.ChatにCSVファイルのデータがインポートされます。

一覧へ