How can I remove Teams from Gitlab Mattermost

I have about 3 or 4 test teams on out instance named test1, test2, TEST2. So we decided to keep Mattermost for good. Is there any easy way to remove those test groups?


For Mattermost v1.2.1 there’s not a recommended way to remove teams from the database, and it’s highly recommended nothing in the database be changed.

An updated tool for System Admins to delete teams, channels and users from the database will be coming in the December release (Mattermost v1.3). The new functionality has already been merged to master.

1 Like

is there a way I can add someone to a team as an admin? There was some sort of bug during team creation for 4 teams on my instance, whereby it didn’t complete the process. The end result is that I have teams with 0 members… not even an admin, and as such, have no way to add people to those teams.

Our teams here where I work have names, and so the team leads are creating teams using their team names… and now those 4 teams don’t have a home, and we don’t want to create false team names for programmatic reasons.

Any suggestions?

mattermost.go -create_user -team_name="teamname" -email="" -password="jimmers"
mattermost -assign_role -team_name="teamname" -email="" -role="admin"

If the == team.owner and it’s the first user created in the team then it will get the “admin” by default.

or if want to make a system admin

mattermost -assign_role -team_name="teamname" -email="" -role="system_admin"

I found that platform command is available as ‘mattermost’ in GitLab integrated version but the use of a command gives an error:

/opt/gitlab/embedded/bin/mattermost -permanent_delete_team -team_name="test2" -email="" panic: Error opening config file=config.json, err=open config.json: no such file or directory
goroutine 1 [running]:, 0xb)
/go/src/ +0x16a
/go/src/ +0x43
goroutine 17 [syscall, locked to thread]:
/usr/local/go/src/runtime/asm_amd64.s:1696 +0x1
goroutine 20 [syscall]:
/usr/local/go/src/os/signal/signal_unix.go:22 +0x18
   created by os/signal.init.1
/usr/local/go/src/os/signal/signal_unix.go:28 +0x37
goroutine 21 [chan receive]:, 0x7f73b35911c0, 0xc82006c008)
    /go/src/ +0x80
created by
    /go/src/ +0x6e

Any suggestions how should it be used?


I fund the configuration file and proper user to user the tool. Unfortunately it does not work. Teams are where ther were before using it.

+1 for an admin console option to delete teams.:slight_smile:

1 Like

The command line tool had a bug introduced when localization was added in 2.0, it should be fixed in Mattermost 2.1 coming out tomorrow,

Feature ideas highly welcome for other options

I have now tried with version 2.1 but I do get an error panic: no language found in "config.json" What does that mean and how can I fix that?

The stack trace looks like this:

goroutine 1 [running]:
panic(0xc26280, 0xc820107650)
	/usr/local/go/src/runtime/panic.go:464 +0x3e6*Bundle).MustLoadTranslationFile(0xc820011be0, 0xc820107600, 0xd)
	/var/lib/jenkins/jobs/mattermost-platform-release/workspace/src/ +0x77, 0xd)
	/var/lib/jenkins/jobs/mattermost-platform-release/workspace/src/ +0x37
	/var/lib/jenkins/jobs/mattermost-platform-release/workspace/src/ +0x2c5
	/var/lib/jenkins/jobs/mattermost-platform-release/workspace/src/ +0x2c

look into [Found workaround]CLI tool still crashing and throwing errors in 2.1.0

did you load the right en.json in the current directory?
did you su or sudo to mattermost?

Yes, I used sudo.

There is no en.json file but my problem starts earlier I guess: there is no language defined and therefore it doesn’t even look for a en.json file.

So: how do I define the language in the config.json? And when I did, where do I find the en.json file it is looking for?

I don’t think so. The code to blame is found somewhere starting at line 22 in utils/i18n.go and tells that the language is has not to be defined in config.json because all language files from the translations directory, which is incidentally now always the current directory :unamused: , are used. Unfortunately all *.json files residing there are loaded, even the files which aren’t language files like config.json and the i18n library gets mad about that.

The message no language found in "config.json" does not mean that a language definition is missing in mattermost’s config.json file but that the config.json found in the translations files directory isn’t a translation file at all

tl;dr: The en.json must be the only .json file in your current directory while you are running the mattermost cli command

That makes sense, thanks for that explanation. So the error message is a bit misleading but I can see where this is coming from.

Now I’m going to /opt/gitlab/embedded/service/mattermost/i18n and call sudo /opt/gitlab/embedded/bin/mattermost -version -config="/var/opt/gitlab/mattermost/config.json" getting another error:

[13:25:54 CET 2016/03/24] [INFO] ( Loaded system translations for 'en' from '/opt/gitlab/embedded/service/mattermost/i18n/en.json'
[2016/03/24 13:25:54 CET] [CRIT] Failed to ping db err:pq: Peer authentication failed for user "gitlab_mattermost"
panic: Failed to open sql connection pq: Peer authentication failed for user "gitlab_mattermost"

goroutine 1 [running]:
panic(0xb2e0c0, 0xc820431c60)
	/usr/local/go/src/runtime/panic.go:464 +0x3e6, 0x6, 0xc820430bf0, 0x8, 0xc820060ae0, 0x5d, 0xa, 0xa, 0x419600, 0x10)
	/var/lib/jenkins/jobs/mattermost-platform-release/workspace/src/ +0x894, 0x0)
	/var/lib/jenkins/jobs/mattermost-platform-release/workspace/src/ +0x122
	/var/lib/jenkins/jobs/mattermost-platform-release/workspace/src/ +0xe8
	/var/lib/jenkins/jobs/mattermost-platform-release/workspace/src/ +0x756

wrong sudo, you have to be user mattermost while running mattermost

This is great, thank you so much for your patient support @BlueAnanas

For the record, here is the working command:

sudo -u mattermost /opt/gitlab/embedded/bin/mattermost -config="/var/opt/gitlab/mattermost/config.json" -permanent_delete_team=true -team_name="38fxueu1t3fobcdsyqk5hig49c"

and then replying with YES (all uppercase) to the two questions.