대량 익스포트 도구
모든 플랜 에서 사용 가능
self-hosted 배포판
다른 Mattermost 인스턴스로 데이터를 이동하는 것은 JSONL 파일을 사용하여 데이터를 내보내는 대량 로딩 기능 으로 시작됩니다. 이 도구는 컨셉 증명을 위해 서버를 만들었고, 제품 사용을 위해 다른 서버를 만들었으며, 이제 컨셉 증명 인스턴스의 이력을 유지하려는 경우 유용합니다.
다음과 같은 데이터 유형을 내보낼 수 있습니다:
팀
채널 (공개, 비공개, 다이렉트)
사용자
사용자의 팀 멤버십
사용자의 채널 멤버십
게시물 (공개 또는 비공개 채널의 메시지 및 해당 메시지에 대한 답글)
데이터 대량 내보내기
mmctl export create --attachments
명령어를 실행하여 첨부 파일을 포함한 완전한 내보내기 파일을 만듭니다. 자세한 내용은 Mattermost 워크스페이스 이주 문서를 참조하세요.작업이 실행 중인 동안 mmctl export job show 명령어를 실행하여 상태를 확인할 수 있습니다.
내보내기 작업 상태가 성공인 경우:
mmctl export list 명령어를 실행하여 완료된 내보내기 파일의 이름을 확인합니다.
mmctl export download 명령어를 실행하여 내보내기 파일을 로컬 머신으로 다운로드합니다.
Note
Mattermost v6.0부터 이 명령어는 mmctl export commands 를 내보내기의 지원되는 방식으로 대체하면서 사용이 중단되었습니다.
내보내기 명령어는 CLI 에서 실행됩니다. Mattermost 데이터베이스의 모든 정보에 액세스할 수 있는 권한이 있습니다.
내보내기 명령어를 실행하려면:
Mattermost 서버가 설치된 디렉터리로 이동합니다. Mattermost의 기본 설치에서 디렉터리는
/opt/mattermost
입니다.다음 명령어를 실행하여 서버의 모든 팀에서 데이터를 추출합니다. 파일 이름을 변경하고 내보낼 파일이 위치할 절대 또는 상대 경로를 지정할 수 있음에 유의하세요:
sudo -u mattermost bin/mattermost export bulk file.json --all-teams
sudo -u mattermost bin/mattermost export bulk /home/user/bulk_data.json --all-teams
지정한 위치에서 파일을 검색합니다.
현재 내보내기는 다음에 나열된 객체의 속성을 지원합니다. 모든 Mattermost 대량 내보내기 데이터 파일은 내보낸 데이터와 호환되는 Mattermost 대량 가져오기 파일 형식의 ‘버전’ 객체로 시작합니다.
다음과 같은 데이터 유형을 내보낼 수 있습니다:
팀
채널 (공개, 비공개 및 다이렉트)
사용자
사용자의 팀 멤버십
사용자의 채널 멤버십
사용자의 알림 환경 설정
게시물 (일반적인 응답이 아닌 메시지)
게시물의 답글과 스레드
게시물의 반응
사용자 정의 이모지
다이렉트 메시지 채널
다이렉트 메시지 게시물
Note
서버의 특정 영역, 게시물 유형의 추가적인 유형, 권한 체계, 파일 첨부, 웹훅 및 봇 메시지와 같은 데이터 유형에 대한 구성은 아직 지원되지 않습니다. 삭제된 객체도 아직 지원되지 않습니다.
내보내기기에 추가적인 속성 또는 객체를 추가하기 위한 요청은 기능 아이디어 포럼 에 기능 요청을 추가해 주세요.
버전 객체
필드 이름 |
유형 |
설명 |
---|---|---|
타입 |
문자열 |
문자열 “version” |
버전 |
숫자 |
숫자 1. |
정보 |
객체 |
옵션 VersionInfo 객체 |
VersionInfo 객체
Field name | Type | Description |
---|---|---|
generator | string | The name of the tool this export was generated with. Well known tools are: "mattermost-server" for the Mattermost Server. "mmetl" for the Slack export converter "mmetl". |
version | string | The version of the tool this export was generated with. This may contain multiple pieces of version info, separated by spaces. The first one should be a semantic version. "7.6.0 (29bb1e53ef5a439c73065f47de2972f9bbcb09a4, enterprise: true)" is an example of such a version string. |
created | string | The timestamp of the file creation. This should be formatted as an RFC 3339 timestamp. The nanosecond part is optional. "2022-11-22T16:40:51.019582328+01:00" |
additional | any | Any additional information the generator wants to include into the file header. May be omitted. Be aware that the size of each line is limited to a few MiB. |
팀 객체
Field name | Type | Description |
---|---|---|
name | string | The team name. |
display_name | string | The display name for the team. |
type | string | The type of team. Will have one of the following values: "O" for an open team "I" for an invite-only team. |
description | string | The team description. |
allow_open_invite | bool | Whether to allow open invitations. Will have one of the following values: "true" "false" |
scheme | string | The name of the permissions scheme that applies to this team. |
Channel object
Field name | Type | Description |
---|---|---|
team | string | The name of the team this channel belongs to. |
name | string | The name of the channel. |
display_name | string | The display name for the channel. |
type | string | The type of channel. Will have one the following values: "O" for a public channel. "P" for a private channel. |
header | string | The channel header. |
purpose | string | The channel purpose. |
scheme | string | The name of the permissions scheme that applies to this team. |
User object
Field name | Type | Description |
---|---|---|
username | string | The user’s username. This is the unique identifier for the user. |
string | The user’s email address. | |
auth_service | string | The authentication service used for this user account. This field will be absent for user/password authentication. "gitlab" - GitLab authentication. "ldap" - LDAP authentication (Enterprise and Professional) "saml" - Generic SAML based authentication (Enterprise) "google" - Google OAuth authentication (Enterprise) "office365" - Microsoft Office 365 OAuth Authentication (Enterprise) |
auth_data | string | The authentication data if auth_service is used. The value depends on the auth_service that is specified. The data comes from the following fields for the respective auth_services: "gitlab" - The value of the Id attribute provided in the GitLab auth data. "ldap" - The value of the LDAP attribute specified as the "ID Attribute" in the Mattermost LDAP configuration. "saml" - The value of the SAML email address attribute. "google" - The value of the OAuth Id attribute. "office365" - The value of the OAuth Id attribute. |
nickname | string | The user’s nickname. |
first_name | string | The user’s first name. |
last_name | string | The user’s last name. |
position | string | The user’s position. |
roles | string | The user’s roles. |
locale | string | The user’s localization configuration. |
use_markdown_preview | bool | "true" if the user has enabled markdown preview in the message input box. |
use_formatting | bool | "true" if the user has enabled post formatting for links, emoji, text styles, and line breaks. |
show_unread_section | string | "true" if the user has enabled showing unread messages at top of channel sidebar. |
theme | string | The user’s theme. Formatted as a Mattermost theme string. |
military_time | string | "true" if the user has enabled a 24-hour clock. "false" if using a 12-hour clock. |
collapse_previews | string | "true" if user collapses link preview by default. "false" if user expands link previews by default. |
message_display | string | The style the user prefers for displayed messages. Options are "clean" if the user uses the standard style or "compact" if the user uses compact style. |
channel_display_mode | string | "full" if the users displays channel messages at the full width of the screen or "centered" if the user uses a fixed width, centered block. |
tutorial_step | string | "1", "2", or "3" indicates which specified tutorial step to start with for the user. "999" skips the tutorial. |
email_interval | string | Email batching interval to use during bulk import. |
delete_at | int64 | Timestamp of when the user was deactivated. |
teams | array | The teams which the user is member of. Is an array of UserTeamMembership objects. |
notify_props | object | The user’s notify preferences, as defined by the UserNotifyProps object. |
UserNotifyProps object
이 객체는 사용자 객체의 구성원입니다.
Field name | Type | Description |
---|---|---|
desktop | string | Preference for sending desktop notifications. Will be one of the following values: "all" - For all activity. "mention" - Only for mentions. "none" - Never. |
desktop_sound | string | Preference for whether desktop notification sound is played. Will be one of the following values: "true" - Sound is played. "false" - Sound is not played. |
string | Preference for email notifications. Will be one of the following values: "true" - Email notifications are sent immediately. "false" - Email notifications are not sent. |
|
mobile | string | Preference for sending mobile push notifications. Will be one of the following values: "all" - For all activity. "mention" - Only for mentions. "none" - Never. |
mobile_push_status | string | Preference for when push notifications are triggered. Will be one of the following values: "online" - When online, away or offline. "away" - When away or offline. "offline" - When offline. |
channel | string | Preference for whether @all, @channel, and @here trigger mentions. Will be one of the following values: "true" - Mentions are triggered. "false" - Mentions are not triggered. |
comments | string | Preference for reply mention notifications. Will be one of the following values: "any" - Trigger notifications on messages in reply threads that the user starts or participates in. "root" - Trigger notifications on messages in threads that the user starts. "never" - Do not trigger notifications on messages in reply threads unless the user is mentioned. |
mention_keys | string | Preference for custom non-case sensitive words that trigger mentions. Words are separated by commas. |
UserTeamMembership object
Field name | Type | Description |
---|---|---|
name | string | The name of the team this user is a member of. |
roles | string | The roles the user has within this team. |
theme | string | The user’s theme for this team. Formatted as a Mattermost theme string. |
channels | array | The channels within this team that the user is a member of. Listed as an array of UserChannelMembership objects. |
UserChannelMembership object
Field name | Type | Description |
---|---|---|
name | string | The name of the channel in the parent team that this user is a member of. |
roles | string | The roles the user has within this channel. |
notify_props | object | The notify preferences for this user in this channel as defined by the ChannelNotifyProps object. |
favorite | boolean | Whether the channel is marked as a favorite for this user. Will be one of the following values: "true" - Yes. "false" - No. |
mention_count | int64 | The mention preferences for this user in this channel as defined by the ChannelMentionCount object. |
mention_count_root | int64 | The mention preferences for this user in this channel as defined by the ChannelMentionCountRoot object. |
urgent_mention_count | int64 | The mention preferences for this user in this channel as defined by the UrgendMentionCount object. |
msg_count | int64 | The mention preferences for this user in this channel as defined by the MsgCount object. |
msg_count_root | int64 | The mention preferences for this user in this channel as defined by the MsgCountRoot object. |
last_viewed_at | int64 | The mention preferences for this user in this channel as defined by the LastViewedAt object. |
ChannelNotifyProps object
This object is a member of the ChannelMembership object.
Field name | Type | Description |
---|---|---|
desktop | string | Preference for sending desktop notifications. Will be one of the following values: "default" - Global default. "all" - For all activity. "mention" - Only for mentions. "none" - Never. |
mobile | string | Preference for sending mobile notifications. Will be one of the following values: "default" - Global default. "all" - For all activity. "mention" - Only for mentions. "none" - Never. |
mark_unread | string | Preference for marking channel as unread. Will be one of the following values: "all" - For all unread messages. "mention" - Only for mentions. |
Post object
Field name | Type | Description |
---|---|---|
team | string | The name of the team that this post is in. |
channel | string | The name of the channel that this post is in. |
user | string | The username of the user for this post. |
message | string | The message that the post contains. |
props | object | The props for a post. Contains additional formatting information used by integrations and bot posts. For a more detailed explanation see the message attachments documentation. |
create_at | int | The timestamp for the post, in milliseconds since the Unix epoch. |
reactions | array | The emoji reactions to this post. Will be an array of Reaction objects. |
Reaction object
이 개체는 ChannelMembership 개체의 구성원입니다.
Field name | Type | Description |
---|---|---|
user | string | The username of the user for this reply. |
emoji_name | string | The emoji of the reaction. |
create_at | int | The timestamp for the reply, in milliseconds since the Unix epoch. |
Emoji object
Field name | Type | Description |
---|---|---|
name | string | The emoji name. |
image | string | The path (either absolute or relative to the current working directory) to the image file for this emoji. |
DirectChannel object
Field name | Type | Description |
---|---|---|
members | array | List of channel members. |
favorited_by | array | List of channel members who have favorited the direct channel. |
header | string | The channel header. |
DirectPost object
Field name | Type | Description |
---|---|---|
user | string | The username of the user for this post. |
message | string | The message that the post contains. |
create_at | int | The timestamp for the post, in milliseconds since the Unix epoch. |