Skip to content

MatterMost

URL Format

mattermost://[username@]mattermost-host/token[/channel][?icon=smiley]

URL Fields

  • UserName - Override webhook user
    Default: empty
    URL part: mattermost://username@host:port/token/channel
  • Host - Mattermost server host (Required)
    URL part: mattermost://username@host:port/token/channel
  • Token - Webhook token (Required)
    URL part: mattermost://username@host:port/token/channel
  • Channel - Override webhook channel
    Default: empty
    URL part: mattermost://username@host:port/token/channel

Query/Param Props

Props can be either supplied using the params argument, or through the URL using
?key=value&key=value etc.

  • Icon - Use emoji or URL as icon (based on presence of http(s):// prefix)
    Default: empty
    Aliases: icon_emoji, icon_url

  • Title - Notification title, optionally set by the sender (not used)
    Default: empty

Creating a Webhook in MatterMost

  1. Open up the Integrations page by clicking on Integrations within the menu Screenshot 1

  2. Click Incoming Webhooks Screenshot 2

  3. Click Add Incoming Webhook Screenshot 3

  4. Fill in the information for the webhook and click Save Screenshot 4

  5. If you did everything correctly, MatterMost will give you the URL to your newly created webhook Screenshot 5

  6. Format the service URL

    https://your-domain.com/hooks/bywsw8zt5jgpte3nm65qjiru6h
                                  └────────────────────────┘
                                            token
    mattermost://your-domain.com/bywsw8zt5jgpte3nm65qjiru6h
                                 └────────────────────────┘
                                           token
    

Additional URL configuration

Mattermost provides functionality to post as another user or to another channel, compared to the webhook configuration.
To do this, you can add a user and/or channel to the service URL.

mattermost://shoutrrrUser@your-domain.com/bywsw8zt5jgpte3nm65qjiru6h/shoutrrrChannel
             └──────────┘                 └────────────────────────┘ └─────────────┘
                 user                               token                channel

Passing parameters via code

If you want to, you also have the possibility to pass parameters to the send function.
The following example contains all parameters that are currently supported.

params := (*types.Params)(
    &map[string]string{
        "username": "overwriteUserName",
        "channel": "overwriteChannel",
        "icon": "overwriteIcon",
    },
)

service.Send("this is a message", params)

This will overwrite any options, that you passed via URL.