/mattermost-plugin-demo

A demo of what Mattermost plugins can do.

Primary LanguageGoApache License 2.0Apache-2.0

Demo Plugin

Build Status Code Coverage Release HW

Maintainer: @hanzei Co-Maintainer: @jfrerich

This plugin demonstrates the capabilities of a Mattermost plugin. It includes the same build scripts as mattermost-plugin-starter-template, but implements all supported server-side hooks and registers a component for each supported client-side integration point. See server/README.md and webapp/README.md for more details. The plugin also doubles as a testbed for verifying plugin functionality during release testing.

Once installed and enabled, you can specify both the channel and user for the demo plugin. If the specified channel or user doesn't exist, the plugin creates it for you.

Feel free to base your own plugin off this repository, removing or modifying components as needed. If you're already familiar with what plugins can do, consider starting from mattermost-plugin-starter-template instead, which includes the same build framework but omits the demo implementations.

Note that this plugin is authored for the Mattermost version indicated in the min_server_version within plugin.json, and is not compatible with earlier releases of Mattermost.

For details on getting started, see mattermost-plugin-starter-template.

Releasing this plugin

A new minor version of this plugin is released with every feature release of Mattermost. The new version should be cut until Code complete.

How to Release

To trigger a release, follow these steps:

  1. For Patch Release: Run the following command:

    make patch
    

    This will release a patch change.

  2. For Minor Release: Run the following command:

    make minor
    

    This will release a minor change.

  3. For Major Release: Run the following command:

    make major
    

    This will release a major change.

  4. For Patch Release Candidate (RC): Run the following command:

    make patch-rc
    

    This will release a patch release candidate.

  5. For Minor Release Candidate (RC): Run the following command:

    make minor-rc
    

    This will release a minor release candidate.

  6. For Major Release Candidate (RC): Run the following command:

    make major-rc
    

    This will release a major release candidate.