Documentation ¶
Index ¶
- Constants
- Variables
- func CheckCommand(t *testing.T, args ...string) string
- func CommandPrettyPrintln(a ...interface{}) (int, error)
- func CommandPrintErrorln(a ...interface{}) (int, error)
- func CommandPrintln(a ...interface{}) (int, error)
- func InitDBCommandContext(configFileLocation string) (*app.App, error)
- func InitDBCommandContextCobra(command *cobra.Command) (*app.App, error)
- func Run(args []string) error
- func RunCommand(t *testing.T, args ...string) error
- type Command
Constants ¶
View Source
const CHANNEL_ARG_SEPARATOR = ":"
View Source
const COMMAND_ARGS_SEPARATOR = ":"
View Source
const (
SESSIONS_CLEANUP_BATCH_SIZE = 1000
)
Variables ¶
View Source
var ActianceExportCmd = &cobra.Command{
Use: "actiance",
Short: "Export data from Mattermost in Actiance format",
Long: "Export data from Mattermost in Actiance format",
Example: "export actiance --exportFrom=12345",
RunE: buildExportCmdF("actiance"),
}
View Source
var AddChannelUsersCmd = &cobra.Command{
Use: "add [channel] [users]",
Short: "Add users to channel",
Long: "Add some users to channel",
Example: " channel add myteam:mychannel user@example.com username",
RunE: addChannelUsersCmdF,
}
View Source
var AddUsersCmd = &cobra.Command{
Use: "add [team] [users]",
Short: "Add users to team",
Long: "Add some users to team",
Example: " team add myteam user@example.com username",
RunE: addUsersCmdF,
}
View Source
var ArchiveChannelsCmd = &cobra.Command{
Use: "archive [channels]",
Short: "Archive channels",
Long: `Archive some channels.
Archive a channel along with all related information including posts from the database.
Channels can be specified by [team]:[channel]. ie. myteam:mychannel or by channel ID.`,
Example: " channel archive myteam:mychannel",
RunE: archiveChannelsCmdF,
}
View Source
var BulkImportCmd = &cobra.Command{
Use: "bulk [file]",
Short: "Import bulk data.",
Long: "Import data from a Mattermost Bulk Import File.",
Example: " import bulk bulk_data.json",
RunE: bulkImportCmdF,
}
View Source
var ChannelCmd = &cobra.Command{
Use: "channel",
Short: "Management of channels",
}
View Source
var ChannelCreateCmd = &cobra.Command{
Use: "create",
Short: "Create a channel",
Long: `Create a channel.`,
Example: ` channel create --team myteam --name mynewchannel --display_name "My New Channel"
channel create --team myteam --name mynewprivatechannel --display_name "My New Private Channel" --private`,
RunE: createChannelCmdF,
}
View Source
var ChannelRenameCmd = &cobra.Command{
Use: "rename",
Short: "Rename a channel",
Long: `Rename a channel.`,
Example: `" channel rename myteam:mychannel newchannelname --display_name "New Display Name"`,
RunE: renameChannelCmdF,
}
View Source
var CommandCmd = &cobra.Command{
Use: "command",
Short: "Management of slash commands",
}
View Source
var CommandMoveCmd = &cobra.Command{
Use: "move",
Short: "Move a slash command to a different team",
Long: `Move a slash command to a different team. Commands can be specified by [team]:[command-trigger-word]. ie. myteam:trigger or by command ID.`,
Example: ` command move newteam oldteam:command`,
RunE: moveCommandCmdF,
}
View Source
var ConfigCmd = &cobra.Command{
Use: "config",
Short: "Configuration",
}
View Source
var ConfigSubpathCmd = &cobra.Command{
Use: "subpath",
Short: "Update client asset loading to use the configured subpath",
Long: "Update the hard-coded production client asset paths to take into account Mattermost running on a subpath.",
Example: ` config subpath
config subpath --path /mattermost
config subpath --path /`,
RunE: configSubpathCmdF,
}
View Source
var CsvExportCmd = &cobra.Command{
Use: "csv",
Short: "Export data from Mattermost in CSV format",
Long: "Export data from Mattermost in CSV format",
Example: "export csv --exportFrom=12345",
RunE: buildExportCmdF("csv"),
}
View Source
var DeleteAllUsersCmd = &cobra.Command{
Use: "deleteall",
Short: "Delete all users and all posts",
Long: "Permanently delete all users and all related information including posts.",
Example: " user deleteall",
RunE: deleteAllUsersCommandF,
}
View Source
var DeleteChannelsCmd = &cobra.Command{
Use: "delete [channels]",
Short: "Delete channels",
Long: `Permanently delete some channels.
Permanently deletes a channel along with all related information including posts from the database.
Channels can be specified by [team]:[channel]. ie. myteam:mychannel or by channel ID.`,
Example: " channel delete myteam:mychannel",
RunE: deleteChannelsCmdF,
}
View Source
var DeleteTeamsCmd = &cobra.Command{
Use: "delete [teams]",
Short: "Delete teams",
Long: `Permanently delete some teams.
Permanently deletes a team along with all related information including posts from the database.`,
Example: " team delete myteam",
RunE: deleteTeamsCmdF,
}
View Source
var DeleteUserCmd = &cobra.Command{
Use: "delete [users]",
Short: "Delete users and all posts",
Long: "Permanently delete user and all related information including posts.",
Example: " user delete user@example.com",
RunE: deleteUserCmdF,
}
View Source
var ExportPermissionsCmd = &cobra.Command{ Use: "export", Short: "Export permissions data", Long: "Export Roles and Schemes to JSONL for use by Mattermost permissions import.", Example: " permissions export > export.jsonl", RunE: exportPermissionsCmdF, PreRun: func(cmd *cobra.Command, args []string) { os.Setenv("MM_LOGSETTINGS_CONSOLELEVEL", "error") }, }
View Source
var ImportCmd = &cobra.Command{
Use: "import",
Short: "Import data.",
}
View Source
var ImportPermissionsCmd = &cobra.Command{
Use: "import [file]",
Short: "Import permissions data",
Long: "Import Roles and Schemes JSONL data as created by the Mattermost permissions export.",
Example: " permissions import export.jsonl",
RunE: importPermissionsCmdF,
}
View Source
var JobserverCmd = &cobra.Command{
Use: "jobserver",
Short: "Start the Mattermost job server",
Run: jobserverCmdF,
}
View Source
var LdapCmd = &cobra.Command{
Use: "ldap",
Short: "LDAP related utilities",
}
View Source
var LdapIdMigrate = &cobra.Command{ Use: "idmigrate", Short: "Migrate LDAP IdAttribute to new value", Long: "Migrate LDAP IdAttribute to new value. Run this utility then change the IdAttribute to the new value.", Example: " ldap idmigrate objectGUID", Args: cobra.ExactArgs(1), RunE: ldapIdMigrateCmdF, }
View Source
var LdapSyncCmd = &cobra.Command{
Use: "sync",
Short: "Synchronize now",
Long: "Synchronize all LDAP users now.",
Example: " ldap sync",
RunE: ldapSyncCmdF,
}
View Source
var LicenseCmd = &cobra.Command{
Use: "license",
Short: "Licensing commands",
}
View Source
var ListChannelsCmd = &cobra.Command{
Use: "list [teams]",
Short: "List all channels on specified teams.",
Long: `List all channels on specified teams.
Archived channels are appended with ' (archived)'.`,
Example: " channel list myteam",
RunE: listChannelsCmdF,
}
View Source
var ListTeamsCmd = &cobra.Command{
Use: "list",
Short: "List all teams.",
Long: `List all teams on the server.`,
Example: " team list",
RunE: listTeamsCmdF,
}
View Source
var MakeMemberCmd = &cobra.Command{
Use: "member [users]",
Short: "Remove system admin privileges",
Long: "Remove system admin privileges from some users.",
Example: " roles member user1",
RunE: makeMemberCmdF,
}
View Source
var MakeSystemAdminCmd = &cobra.Command{
Use: "system_admin [users]",
Short: "Set a user as system admin",
Long: "Make some users system admins",
Example: " roles system_admin user1",
RunE: makeSystemAdminCmdF,
}
View Source
var MaxNotificationsPerChannelDefault int64 = 1000000
View Source
var MessageExportCmd = &cobra.Command{
Use: "export",
Short: "Export data from Mattermost",
Long: "Export data from Mattermost in a format suitable for import into a third-party application",
}
View Source
var MigrateAuthCmd = &cobra.Command{ Use: "migrate_auth [from_auth] [to_auth] [migration-options]", Short: "Mass migrate user accounts authentication type", Long: `Migrates accounts from one authentication provider to another. For example, you can upgrade your authentication provider from email to ldap.`, Example: " user migrate_auth email saml users.json", Args: func(command *cobra.Command, args []string) error { if len(args) < 2 { return errors.New("Auth migration requires at least 2 arguments.") } toAuth := args[1] if toAuth != "ldap" && toAuth != "saml" { return errors.New("Invalid to_auth parameter, must be saml or ldap.") } if toAuth == "ldap" && len(args) != 3 { return errors.New("Ldap migration requires 3 arguments.") } autoFlag, _ := command.Flags().GetBool("auto") if toAuth == "saml" && autoFlag { if len(args) != 2 { return errors.New("Saml migration requires two arguments when using the --auto flag. See help text for details.") } } if toAuth == "saml" && !autoFlag { if len(args) != 3 { return errors.New("Saml migration requires three arguments when not using the --auto flag. See help text for details.") } } return nil }, RunE: migrateAuthCmdF, }
View Source
var ModifyChannelCmd = &cobra.Command{
Use: "modify [channel] [flags] --username [user]",
Short: "Modify a channel's public/private type",
Long: `Change the public/private type of a channel.
Channel can be specified by [team]:[channel]. ie. myteam:mychannel or by channel ID.`,
Example: " channel modify myteam:mychannel --private --username myusername",
RunE: modifyChannelCmdF,
}
View Source
var MoveChannelsCmd = &cobra.Command{
Use: "move [team] [channels] --username [user]",
Short: "Moves channels to the specified team",
Long: `Moves the provided channels to the specified team.
Validates that all users in the channel belong to the target team. Incoming/Outgoing webhooks are moved along with the channel.
Channels can be specified by [team]:[channel]. ie. myteam:mychannel or by channel ID.`,
Example: " channel move newteam oldteam:mychannel --username myusername",
RunE: moveChannelsCmdF,
}
View Source
var PermissionsCmd = &cobra.Command{
Use: "permissions",
Short: "Management of the Permissions system",
}
View Source
var PluginAddCmd = &cobra.Command{
Use: "add [plugins]",
Short: "Add plugins",
Long: "Add plugins to your Mattermost server.",
Example: ` plugin add hovercardexample.tar.gz pluginexample.tar.gz`,
RunE: pluginAddCmdF,
}
View Source
var PluginCmd = &cobra.Command{
Use: "plugin",
Short: "Management of plugins",
}
View Source
var PluginDeleteCmd = &cobra.Command{
Use: "delete [plugins]",
Short: "Delete plugins",
Long: "Delete previously uploaded plugins from your Mattermost server.",
Example: ` plugin delete hovercardexample pluginexample`,
RunE: pluginDeleteCmdF,
}
View Source
var PluginDisableCmd = &cobra.Command{
Use: "disable [plugins]",
Short: "Disable plugins",
Long: "Disable plugins. Disabled plugins are immediately removed from the user interface and logged out of all sessions.",
Example: ` plugin disable hovercardexample pluginexample`,
RunE: pluginDisableCmdF,
}
View Source
var PluginEnableCmd = &cobra.Command{
Use: "enable [plugins]",
Short: "Enable plugins",
Long: "Enable plugins for use on your Mattermost server.",
Example: ` plugin enable hovercardexample pluginexample`,
RunE: pluginEnableCmdF,
}
View Source
var PluginListCmd = &cobra.Command{
Use: "list",
Short: "List plugins",
Long: "List all active and inactive plugins installed on your Mattermost server.",
Example: ` plugin list`,
RunE: pluginListCmdF,
}
View Source
var RemoveChannelUsersCmd = &cobra.Command{
Use: "remove [channel] [users]",
Short: "Remove users from channel",
Long: "Remove some users from channel",
Example: " channel remove myteam:mychannel user@example.com username",
RunE: removeChannelUsersCmdF,
}
View Source
var RemoveUsersCmd = &cobra.Command{
Use: "remove [team] [users]",
Short: "Remove users from team",
Long: "Remove some users from team",
Example: " team remove myteam user@example.com username",
RunE: removeUsersCmdF,
}
View Source
var ResetCmd = &cobra.Command{
Use: "reset",
Short: "Reset the database to initial state",
Long: "Completely erases the database causing the loss of all data. This will reset Mattermost to its initial state.",
RunE: resetCmdF,
}
View Source
var ResetPermissionsCmd = &cobra.Command{
Use: "reset",
Short: "Reset the permissions system to its default state",
Long: "Reset the permissions system to its default state",
Example: " permissions reset",
RunE: resetPermissionsCmdF,
}
View Source
var ResetUserMfaCmd = &cobra.Command{
Use: "resetmfa [users]",
Short: "Turn off MFA",
Long: `Turn off multi-factor authentication for a user.
If MFA enforcement is enabled, the user will be forced to re-enable MFA as soon as they login.`,
Example: " user resetmfa user@example.com",
RunE: resetUserMfaCmdF,
}
View Source
var ResetUserPasswordCmd = &cobra.Command{
Use: "password [user] [password]",
Short: "Set a user's password",
Long: "Set a user's password",
Example: " user password user@example.com Password1",
RunE: resetUserPasswordCmdF,
}
View Source
var RestoreChannelsCmd = &cobra.Command{
Use: "restore [channels]",
Short: "Restore some channels",
Long: `Restore a previously deleted channel
Channels can be specified by [team]:[channel]. ie. myteam:mychannel or by channel ID.`,
Example: " channel restore myteam:mychannel",
RunE: restoreChannelsCmdF,
}
View Source
var RolesCmd = &cobra.Command{
Use: "roles",
Short: "Management of user roles",
}
View Source
var RootCmd = &cobra.Command{
Use: "mattermost",
Short: "Open source, self-hosted Slack-alternative",
Long: `Mattermost offers workplace messaging across web, PC and phones with archiving, search and integration with your existing systems. Documentation available at https://docs.mattermost.com`,
}
View Source
var RunServerForWebClientTestsCmd = &cobra.Command{
Use: "web_client_tests_server",
Short: "Run the server configured for running the web client tests against it",
RunE: serverForWebClientTestsCmdF,
}
View Source
var RunWebClientTestsCmd = &cobra.Command{
Use: "web_client_tests",
Short: "Run the web client tests",
RunE: webClientTestsCmdF,
}
View Source
var SampleDataCmd = &cobra.Command{
Use: "sampledata",
Short: "Generate sample data",
RunE: sampleDataCmdF,
}
View Source
var ScheduleExportCmd = &cobra.Command{
Use: "schedule",
Short: "Schedule an export data job in Mattermost",
Long: "Schedule an export data job in Mattermost (this will run asynchronously via a background worker)",
Example: "export schedule --format=actiance --exportFrom=12345 --timeoutSeconds=12345",
RunE: scheduleExportCmdF,
}
View Source
var SearchUserCmd = &cobra.Command{
Use: "search [users]",
Short: "Search for users",
Long: "Search for users based on username, email, or user ID.",
Example: " user search user1@mail.com user2@mail.com",
RunE: searchUserCmdF,
}
View Source
var SlackImportCmd = &cobra.Command{
Use: "slack [team] [file]",
Short: "Import a team from Slack.",
Long: "Import a team from a Slack export zip file.",
Example: " import slack myteam slack_export.zip",
RunE: slackImportCmdF,
}
View Source
var TeamCmd = &cobra.Command{
Use: "team",
Short: "Management of teams",
}
View Source
var TeamCreateCmd = &cobra.Command{
Use: "create",
Short: "Create a team",
Long: `Create a team.`,
Example: ` team create --name mynewteam --display_name "My New Team"
team create --name private --display_name "My New Private Team" --private`,
RunE: createTeamCmdF,
}
View Source
var TestCmd = &cobra.Command{ Use: "test", Short: "Testing Commands", Hidden: true, }
View Source
var UploadLicenseCmd = &cobra.Command{
Use: "upload [license]",
Short: "Upload a license.",
Long: "Upload a license. Replaces current license.",
Example: " license upload /path/to/license/mylicensefile.mattermost-license",
RunE: uploadLicenseCmdF,
}
View Source
var UserActivateCmd = &cobra.Command{
Use: "activate [emails, usernames, userIds]",
Short: "Activate users",
Long: "Activate users that have been deactivated.",
Example: ` user activate user@example.com
user activate username`,
RunE: userActivateCmdF,
}
View Source
var UserCmd = &cobra.Command{
Use: "user",
Short: "Management of users",
}
View Source
var UserCreateCmd = &cobra.Command{
Use: "create",
Short: "Create a user",
Long: "Create a user",
Example: ` user create --email user@example.com --username userexample --password Password1`,
RunE: userCreateCmdF,
}
View Source
var UserDeactivateCmd = &cobra.Command{
Use: "deactivate [emails, usernames, userIds]",
Short: "Deactivate users",
Long: "Deactivate users. Deactivated users are immediately logged out of all sessions and are unable to log back in.",
Example: ` user deactivate user@example.com
user deactivate username`,
RunE: userDeactivateCmdF,
}
View Source
var UserInviteCmd = &cobra.Command{
Use: "invite [email] [teams]",
Short: "Send user an email invite to a team.",
Long: `Send user an email invite to a team.
You can invite a user to multiple teams by listing them.
You can specify teams by name or ID.`,
Example: ` user invite user@example.com myteam
user invite user@example.com myteam1 myteam2`,
RunE: userInviteCmdF,
}
View Source
var ValidateConfigCmd = &cobra.Command{
Use: "validate",
Short: "Validate config file",
Long: "If the config file is valid, this command will output a success message and have a zero exit code. If it is invalid, this command will output an error and have a non-zero exit code.",
RunE: configValidateCmdF,
}
View Source
var VerifyUserCmd = &cobra.Command{
Use: "verify [users]",
Short: "Verify email of users",
Long: "Verify the emails of some users.",
Example: " user verify user1",
RunE: verifyUserCmdF,
}
View Source
var VersionCmd = &cobra.Command{
Use: "version",
Short: "Display version information",
RunE: versionCmdF,
}
Functions ¶
func CommandPrettyPrintln ¶
func CommandPrintErrorln ¶
func CommandPrintln ¶
Types ¶
Source Files ¶
Click to show internal directories.
Click to hide internal directories.