mattermost / mattermost-plugin-apps

Powers the Mattermost App Framework
https://developers.mattermost.com/integrate/apps/
Apache License 2.0
34 stars 29 forks source link
hacktoberfest mattermost mattermost-plugin

Mattermost Apps Framework Plugin

CircleCI branch Code Coverage Go Report Card

Contents

Overview

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.

Deploying and Installing Apps

See documentation

Develop an App

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.

Running the Tests

mattermost-plugin-apps has two types of tests: unit tests and end to end tests.

Unit tests

To run the unit tests, you just need to execute:

make test

End to end tests

The 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-docker

Change your directory back to mattermost-plugin-apps and run the end to end test suite with:

make test-e2e

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.