We're updating the issue view to help you get more done. 

Plugin configuration not saved in System Console


GitHub issue: https://github.com/mattermost/mattermost-server/issues/8713

Plugin configuration gets corrupted upon saving the configuration via system console.

Steps to reproduce
Enable plugins (system console -> plugins -> configuration)
Attempt to configure e.g. Jira plugin (system console -> plugins -> jira). Save the form.
Switch to another system console panel and then come back to Jira plugin configuration.
Version: 4.9.1

Expected behavior
Jira configuration is saved correctly. Values are copied to config.json.

Observed behavior
Jira configuration is saved in a corrupted format. If PluginSettings.Plugins.jira tree does not exist in config.json, it is added with null values and wrong capitalization (should be UserName, it is saved as username). If PluginSettings.Plugins.jira tree does exist, settings are preserved but key capitalization is changed to lowercase, making those settings unavailable to plugins.

"Plugins": {
"jira": {
"Enabled": true,
"Secret": "randomly generated secret",
"UserName": "user-selected-username"

"Plugins": {
"jira": {
"enabled": null,
"secret": null,
"username": null

Possible fixes
Problem seems to be about config.json serialization. UI and plugins expect these JSON keys to be CamelCase, but the whole PluginSettings.Plugin tree is automatically converted to lowercase keys upon saving. I can get plugins to work by editing the config manually, however any attempt to save anything in the system console will corrupt existing plugin settings.

QA Test Steps

1. Open the system console and go to the Zoom or Jira plugin's settings (can test on ci-linux-postgres) 2. Change some settings and save them 3. Refresh the page, changes should be there 4. Try modifying the settings in different ways (blanking then saving, etc.) to try to find other issues





Joram Wilander


Lindy Isherwood

Fix versions

Mattermost Team





QA Assignee

Dylan Haussermann

QA Testing Areas