System Console Plugin Settings

Hello everyone! I’m new here and to plugin development, working through my first web app and here’s where I’ve run into problems.

I’m trying to set text in the system console plugin settings that renders for my custom web app plugin.

My simple setup:
I’ve created a plugin utilizing the channelHeaderActionButton that when clicked opens a new web browser tab to a given URL.

What I would like to be able to do is set that URL as well as the channelHeaderButtonAction tooltip text through the system console plugin settings. I have the two fields created in my plugin.json file but have been unable to “connect” them.

Firstly is this possible? And if so any guidance, documentation or examples would be great.

Also for reference my web app plugin is written in .js and .jsx

Thanks in advance.

Hi djlouden and welcome to the Mattermost forums!

I’ve never written a plugin so I probably cannot answer your question, but did you already compare your plugin.json with the one from a working plugin, the calls plugin f.ex.?
From what I can see, it should be pretty easy:

    "settings_schema": {
        "header": "your header",
        "footer": "",
        "settings": [
            {
                "key": "URL",
                "display_name": "URL",
                "type": "text",
                "help_text": "URL to redirect to."
            },

Hi agriesser and thank you for the feedback!

I am able add the custom settings in the plugin.json and can view them in the system console after building and re-adding the plugin. However when I change the value and save the settings the channel header action button does not get updated with the new URL value. Im not sure if there’s a function call that updates the button but Im looking at the plugin you linked because there’s a lot there!

Hmm… I think you would have to force a reload of the client then, not sure how this is possible. But can you try to manually ctrl-shift-r(eload) the client once you change the setting in system console?

Hi again,

just trying to follow up here - were you able to solve your issue?