https://github.com/mattermost/mattermost-plugin-demo
A demo of what Mattermost plugins can do.
https://github.com/mattermost/mattermost-plugin-demo
hacktoberfest mattermost mattermost-plugin
Last synced: 5 months ago
JSON representation
A demo of what Mattermost plugins can do.
- Host: GitHub
- URL: https://github.com/mattermost/mattermost-plugin-demo
- Owner: mattermost
- License: apache-2.0
- Created: 2018-07-24T18:45:24.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2025-10-06T17:59:19.000Z (5 months ago)
- Last Synced: 2025-10-06T18:10:17.246Z (5 months ago)
- Topics: hacktoberfest, mattermost, mattermost-plugin
- Language: Go
- Homepage: https://developers.mattermost.com/extend/plugins/
- Size: 103 MB
- Stars: 88
- Watchers: 28
- Forks: 105
- Open Issues: 15
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
- Codeowners: CODEOWNERS
Awesome Lists containing this project
- awesome-list - mattermost-plugin-demo
README
# Demo Plugin
[](https://circleci.com/gh/mattermost/mattermost-plugin-demo)
[](https://codecov.io/gh/mattermost/mattermost-plugin-demo)
[](https://github.com/mattermost/mattermost-plugin-demo/releases/latest)
[](https://github.com/mattermost/mattermost-plugin-demo/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22Up+For+Grabs%22+label%3A%22Help+Wanted%22)
**Maintainer:** [@hanzei](https://github.com/hanzei)
**Co-Maintainer:** [@jfrerich](https://github.com/jfrerich)
This plugin demonstrates the capabilities of a Mattermost plugin. It includes the same build scripts as [mattermost-plugin-starter-template](https://github.com/mattermost/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](server/README.md) and [webapp/README.md](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](https://github.com/mattermost/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](https://github.com/mattermost/mattermost-plugin-demo/blob/master/plugin.json), and is not compatible with earlier releases of Mattermost.
For details on getting started, see [mattermost-plugin-starter-template](https://github.com/mattermost/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](https://docs.mattermost.com/process/feature-release.html#f-t-minus-14-working-days-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.