Warning
This repository is deprecated and no longer maintained. For more information about the transition to the Plugin Framework, please see the official announcement. Refer to the official Mattermost documentation for current integration solutions.
This plugin serves as the core of the Mattermost Apps Framework. It extends the Mattermost server's API to allow for the creation of feature-rich integrations, with functionality supported on the Mattermost web client and mobile client. Take a look at the app developer documentation for more information.
Join the Mattermost Apps channel on our community server to discuss technical details and use cases for the app you're creating.
Refer to the Mattermost Apps Quick Start Guide for instructions on how to use the development environment and examples in the mattermost/mattermost-app-examples repository.
mattermost-plugin-apps has two types of tests: unit tests and end to end tests.
To run the unit tests, you just need to execute:
make testThe Apps Framework e2e tests written in go require the same Docker containers used in the Mattermost development environment to be running. However these tests don't need a Mattermost server to be running. The tests instead mimic the behavior of a running server using shared code of the mattermost-server repository. You can think of it as a "fake server" running, completely separate from the running containers, but communicating with the containers.
To run the end to end test suite, you need to have the Mattermost server project downloaded and configured in your system. Check the Developer Setup guide on how to configure a local server instance. The tests will search for a mattermost-server folder in the same directory where the mattermost-plugin-apps is.
With the mattermost-server folder present, the only thing that needs to be done before running the tests themselves is to start the Mattermost development environment. The environment only needs to be started once, and then the tests can run as many times as needed. To start the Docker environment, change to the mattermost-server project directory and run:
make start-dockerChange your directory back to mattermost-plugin-apps and run the end to end test suite with:
make test-e2eTo trigger a release, follow these steps:
-
For Patch Release: Run the following command:
make patchThis will release a patch change.
-
For Minor Release: Run the following command:
make minorThis will release a minor change.
-
For Major Release: Run the following command:
make majorThis will release a major change.
-
For Patch Release Candidate (RC): Run the following command:
make patch-rcThis will release a patch release candidate.
-
For Minor Release Candidate (RC): Run the following command:
make minor-rcThis will release a minor release candidate.
-
For Major Release Candidate (RC): Run the following command:
make major-rcThis will release a major release candidate.