Giter Site home page Giter Site logo

mattermost / mattermost-marketplace Goto Github PK

View Code? Open in Web Editor NEW
38.0 33.0 24.0 24.35 MB

The stateless HTTP service backing the Mattermost marketplace.

Home Page: http://integrations.mattermost.com

License: Apache License 2.0

Go 98.17% Makefile 1.83%
mattermost-plugin mattermost

mattermost-marketplace's Introduction

Plugin Marketplace

The Plugin Marketplace is a collection of plugins for use with Mattermost. This repository houses the stateless HTTP service that is run at https://api.integrations.mattermost.com. It is meant to be queried by the Mattermost server to enable plugin discovery by System Admins.

Although Mattermost hosts the Marketplace as an AWS Lambda function backed by S3 and CloudFront, the core feature set is designed for use in any hosting environment, enabling private, self-hosted collections of plugins.

Read more about the Plugin Marketplace Architecture.

Other Resources

This repository houses the open-source components of the Plugin Marketplace. Other resources are linked below:

Get Involved

Developing

Environment Setup

  1. Install Go

Running

Simply run the following:

$ make run-server

Testing

Running all tests:

$ make test

Proxying upstream

The marketplace can be configured to proxy to an upstream marketplace, overlaying any locally defined plugins on top of the remote service. Invoke the server with the appropriate flag:

go run ./cmd/marketplace server --upstream https://api.integrations.mattermost.com

To compile this flag into the binary such as when building the lambda function, define the appropriate environment variable:

export BUILD_UPSTREAM_URL=https://api.integrations.mattermost.com
make build-lambda

Add a new release of a plugin to the Marketplace

To add a new release for a plugins, run

go run ./cmd/generator/ add $REPOSITORY $VERSION [--official|--community]

e.g.

go run ./cmd/generator/ add mattermost-plugin-jitsi v2.0.0 --official

generator add supports additional flags. See generator add --help for more details.

Make sure to double check the diff of plugins.json to ensure the release get added correctly.

Deploying as a Lambda Function

In addition to running as a standalone server, the Marketplace is also designed to run as a Lambda function, compiling the plugins.json database into the binary for immediate access without further configuration.

Automatic Deployment

Changes merged to master are automatically deployed to https://api.staging.integrations.mattermost.com.

Changes merged to production are automatically deployed to https://api.integrations.mattermost.com.

When adding or updating the plugins database (or corresponding tooling), submit the changes directly to production, and then merge production immediately back to master to reduce unnecessary merge conflicts. All other changes should be committed directly to master. Changes pending release from master should be merged to production after qualification and in coordination with any supporting Mattermost server release.

Manual Deployment

Simply run the following:

$ SLS_STAGE=staging make deploy-lambda

To iterate quickly after the Cloud Formation stack is up, simply run:

$ SLS_STAGE=staging make deploy-lambda-fast

mattermost-marketplace's People

Contributors

alifarooq0 avatar cpoile avatar crspeller avatar fmunshi avatar hanzei avatar iomodo avatar jfrerich avatar justinegeffen avatar larkox avatar lieut-data avatar mickmister avatar mvitale1989 avatar phoinixgrr avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

mattermost-marketplace's Issues

Add mattermost-plugin-pingboard to the marketplace

Summary

Adds information from Pingboard to the user popover. See README.

Review commit

https://github.com/imc-trading/mattermost-plugin-pingboard/releases/tag/v1.0.0

Checklist

Product requirements

  • The plugin is published under an Open Source license.
  • The source code is available in a public Git repository.
  • There is a public issue or bug tracker for the plugin, which is linked in the plugin documentation and linked via support_url in the manifest.
  • For the current release and upcoming ones a changelog has to be published, with a link recorded in the release_notes_url property of the plugin.json manifest.
  • The plugin has to be out of Beta and be released with at least v1.0.0.
  • All configuration is accessible via the Mattermost interface.
  • The plugin ID defined in the manifest must not collide with the ID of an existing plugin in the Marketplace. It should follow the documentation's suggested naming convention.

Technical requirements

  • The plugin works for 60k concurrent connections and in a High Availability deployment. Note: There are currently no publicly-available tools to verify these properties. As such, they are checked during code review by a developer.
  • The plugin logs important events on appropriate log levels to allow System Admins to troubleshoot issues.

Security requirements

  • Security reviews do not reveal any exploitable vulnerabilities in the plugin.
  • The plugin provides an email address or a username on the Community Server used to report vulnerabilities in the future. Please post it into this issue or send it to [email protected].

Functional requirements

  • The plugin must set a min_server_version in the manifest.
  • The plugin must work on all Mattermost versions greater than or equal to the min_server_version.

Documentation requirements (checked by a Technical Writer)

  • The plugin must include detailed usage documentation with at least one screenshot of the plugin in action, list of features, and a development guide. This is typically a README file or a landing page on the web. The link to the documentation is set as homepage_url in the manifest. A great example is the README of the GitHub plugin. Typical components of documentation include:

    • Requirements/Prerequisites
    • Installation steps
    • Configuration steps
    • Usage
    • Troubleshooting
    • Screenshots (if available)
    • Link or email address for help/support

The plugin.json file should include formatting consistent with the System Console interface. You can join the Documentation channel for assistance.

Add Mattermost Plugin (on-prem) Exchange Calendar to the Marketplace

Summary

This plugin supports a two-way integration between Mattermost and a Microsoft Exchange Calendar. For a stable production release, please download the latest version from the Plugin Marketplace and follow the instructions to install and configure the plugin.

Note: This plugin only supports the integration with on-premise Microsoft Exchange Server 2016+. For Azure/Office365 support please see Mattermost Microsoft Calendar Plugin.

Review commit

https://github.com/Brightscout/mattermost-plugin-exchange-calendar
https://github.com/Brightscout/mattermost-plugin-exchange-calendar/releases/tag/v2.2.0

Checklist

Product requirements

  • The plugin is published under an Open Source license.
  • The source code is available in a public Git repository.
  • There is a public issue or bug tracker for the plugin, which is linked in the plugin documentation and linked via support_url in the manifest.
  • For the current release and upcoming ones a changelog has to be published, with a link recorded in the release_notes_url property of the plugin.json manifest.
  • The plugin has to be out of Beta and be released with at least v1.0.0.
  • All configuration is accessible via the Mattermost interface.
  • The plugin ID defined in the manifest must not collide with the ID of an existing plugin in the Marketplace. It should follow the documentation's suggested naming convention.

Technical requirements

  • The plugin works for 60k concurrent connections and in a High Availability deployment. Note: There are currently no publicly-available tools to verify these properties. As such, they are checked during code review by a developer.
  • The plugin logs important events on appropriate log levels to allow System Admins to troubleshoot issues.

Security requirements

  • Security reviews do not reveal any exploitable vulnerabilities in the plugin.
  • The plugin provides an email address or a username on the Community Server used to report vulnerabilities in the future. Please post it into this issue or send it to [email protected].

Functional requirements

  • The plugin must set a min_server_version in the manifest.
  • The plugin must work on all Mattermost versions greater than or equal to the min_server_version.

Documentation requirements (checked by a Technical Writer)

  • The plugin must include detailed usage documentation with at least one screenshot of the plugin in action, list of features, and a development guide. This is typically a README file or a landing page on the web. The link to the documentation is set as homepage_url in the manifest. A great example is the README of the GitHub plugin. Typical components of documentation include:

    • Requirements/Prerequisites
    • Installation steps
    • Configuration steps
    • Usage
    • Troubleshooting
    • Screenshots (if available)
    • Link or email address for help/support

The plugin.json file should include formatting consistent with the System Console interface. You can join the Documentation channel for assistance.

Add plugin outline

Summary

Mattermost Outline plugin allows you to search your teams documents. (https://www.getoutline.com/)

Review commit

Checklist

Product requirements

  • The plugin is published under an Open Source license.
  • The source code is available in a public git repository.
  • There is a public issue or bug tracker for the plugin, which is linked in the plugin documentation and linked via support_url in the manifest.
  • The plugin provides detailed usage documentation with at least one screenshot of the plugin in action, list of features, and a development guide. This is typically a README file or a landing page on the web. The link to the documentation is set as homepage_url in the manifest. A great example is the README of the GitHub plugin.
  • For the current release and upcoming ones a changelog has to be published, with a link recorded in the release_notes_url property of the plugin.json manifest.
  • The plugin has to be out of Beta and be released with at least v1.0.0.
  • All configuration is accessible via the Mattermost UI.
  • The plugin ID defined in the manifest must not collide with the ID of an existing plugin in the Marketplace. It should follow the documentation's suggested naming convention.

Technical requirements

  • The plugin works for 60k concurrent connections and in a high-availability deployment. Note: There are currently no publicly-available tools to verify these properties. As such, they are checked during code review by a developer.
  • The plugin logs important events on appropriate log levels to allow System Admins to troubleshoot issues.

Security requirements

  • Security reviews do not reveal any exploitable vulnerabilities in the plugin.
  • The plugin provides an email address or a username on the Community Server used to report vulnerabilities in the future. Please post it into this issue or send it to [email protected].

Functional requirements

  • The plugin must set a min_server_version in the manifest.
  • The plugin must work on all Mattermost versions greater than or equal to the min_server_version.

Add Matterpoll plugin to Marketplace

Summary

Matterpoll allows users to create poll by using a slash command.

Review commit

matterpoll/matterpoll@45f0958

We're ready to release new version v1.4.0. After adding Matterpoll to Marketplace, we'll update documentation as matterpoll/matterpoll#346.

Checklist

Product requirements

  • The plugin is published under an Open Source license.
  • The source code is available in a public git repository.
  • There is a public issue or bug tracker for the plugin, which is linked in the plugin documentation and linked via support_url in the manifest.
  • The plugin provides detailed usage documentation with at least one screenshot of the plugin in action, list of features, and a development guide. This is typically a README file or a landing page on the web. The link to the documentation is set as homepage_url in the manifest. A great example is the README of the GitHub plugin.
  • For the current release and upcoming ones a changelog has to be published, with a link recorded in the release_notes_url property of the plugin.json manifest.
  • The plugin has to be out of Beta and be released with at least v1.0.0.
  • All configuration is accessible via the Mattermost UI.
  • The plugin ID defined in the manifest must not collide with the ID of an existing plugin in the Marketplace. It should follow the documentation's suggested naming convention.

Technical requirements

  • The plugin works for 60k concurrent connections and in a high-availability deployment. Note: There are currently no publicly-available tools to verify these properties. As such, they are checked during code review by a developer.
  • The plugin logs important events on appropriate log levels to allow System Admins to troubleshoot issues.

Security requirements

  • Security reviews do not reveal any exploitable vulnerabilities in the plugin.
  • The plugin provides an email address or a username on the Community Server used to report vulnerabilities in the future. Please post it into this issue or send it to [email protected].

Functional requirements

  • The plugin must set a min_server_version in the manifest.
  • The plugin must work on all Mattermost versions greater than or equal to the min_server_version.

Add mattermost-plugin-alertmanager to Marketplace

Summary

A plugin for the Prometheus Alertmanager. It can

  • Receive the Alerts via webhook
  • Can list existing alerts
  • Can list existing silences
  • Can expire a silence

See https://github.com/cpanato/mattermost-plugin-alertmanager#alertmanager-plugin for more details

Review commit

https://github.com/cpanato/mattermost-plugin-alertmanager/releases/tag/v0.3.0

Checklist

Product requirements

  • The plugin is published under an Open Source license.
  • The source code is available in a public Git repository.
  • There is a public issue or bug tracker for the plugin, which is linked in the plugin documentation and linked via support_url in the manifest.
  • For the current release and upcoming ones a changelog has to be published, with a link recorded in the release_notes_url property of the plugin.json manifest.
  • The plugin has to be out of Beta and be released with at least v1.0.0.
  • All configuration is accessible via the Mattermost interface.
  • The plugin ID defined in the manifest must not collide with the ID of an existing plugin in the Marketplace. It should follow the documentation's suggested naming convention.

Technical requirements

  • The plugin works for 60k concurrent connections and in a High Availability deployment. Note: There are currently no publicly-available tools to verify these properties. As such, they are checked during code review by a developer.
  • The plugin logs important events on appropriate log levels to allow System Admins to troubleshoot issues.

Security requirements

  • Security reviews do not reveal any exploitable vulnerabilities in the plugin.
  • The plugin provides an email address or a username on the Community Server used to report vulnerabilities in the future. Please post it into this issue or send it to [email protected].

Functional requirements

  • The plugin must set a min_server_version in the manifest.
  • The plugin must work on all Mattermost versions greater than or equal to the min_server_version.

Documentation requirements (checked by a Technical Writer)

  • The plugin must include detailed usage documentation with at least one screenshot of the plugin in action, list of features, and a development guide. This is typically a README file or a landing page on the web. The link to the documentation is set as homepage_url in the manifest. A great example is the README of the GitHub plugin. Typical components of documentation include:

    • Requirements/Prerequisites
    • Installation steps
    • Configuration steps
    • Usage
    • Troubleshooting
    • Screenshots (if available)
    • Link or email address for help/support

The plugin.json file should include formatting consistent with the System Console interface. You can join the Documentation channel for assistance.

Add onlyoffice-mattermost to Marketplace

Summary

This plugin allows connecting Mattermost and ONLYOFFICE Docs (web-based office suite) so that users are able to open files sent in personal and group Mattermost chats for viewing, editing and co-authoring.

actions

Users are also able to share files with basic permission types โ€” viewing/editing.

sharing

Review commit

https://github.com/ONLYOFFICE/onlyoffice-mattermost/tree/v1.0.0

Checklist

Product requirements

  • The plugin is published under an Open Source license.
  • The source code is available in a public git repository.
  • There is a public issue or bug tracker for the plugin, which is linked in the plugin documentation and linked via support_url in the manifest.
  • The plugin provides detailed usage documentation with at least one screenshot of the plugin in action, list of features, and a development guide. This is typically a README file or a landing page on the web. The link to the documentation is set as homepage_url in the manifest. A great example is the README of the GitHub plugin.
  • For the current release and upcoming ones a changelog has to be published, with a link recorded in the release_notes_url property of the plugin.json manifest.
  • The plugin has to be out of Beta and be released with at least v1.0.0.
  • All configuration is accessible via the Mattermost UI.
  • The plugin ID defined in the manifest must not collide with the ID of an existing plugin in the Marketplace. It should follow the documentation's suggested naming convention.

Technical requirements

  • The plugin works for 60k concurrent connections and in a high-availability deployment. Note: There are currently no publicly-available tools to verify these properties. As such, they are checked during code review by a developer.
  • The plugin logs important events on appropriate log levels to allow System Admins to troubleshoot issues.

Security requirements

  • Security reviews do not reveal any exploitable vulnerabilities in the plugin.
  • The plugin provides an email address or a username on the Community Server used to report vulnerabilities in the future. Please post it into this issue or send it to [email protected].

Functional requirements

  • The plugin must set a min_server_version in the manifest.
  • The plugin must work on all Mattermost versions greater than or equal to the min_server_version.

Drop iconPaths workaround

Hosting the images locally was just meant as a stop-gap until the plugins defined the icons themselves, and posted a release containing same. Could we just wait for that, and slowly reduce this list to zero instead?

Originally posted by @lieut-data in #52

Plugin: Link List

Summary

This plugin will display up to 5 links in the main menu of Mattermost.

image

Review commit

https://github.com/jwillmer/mattermost-plugin-link-list/releases/tag/0.1.0

Checklist

Product requirements

  • The plugin is published under an Open Source license.
  • The source code is available in a public git repository.
  • There is a public issue or bug tracker for the plugin, which is linked in the plugin documentation and linked via support_url in the manifest.
  • The plugin provides detailed usage documentation with at least one screenshot of the plugin in action, list of features, and a development guide. This is typically a README file or a landing page on the web. The link to the documentation is set as homepage_url in the manifest. A great example is the README of the GitHub plugin.
  • For the current release and upcoming ones a changelog has to be published, with a link recorded in the release_notes_url property of the plugin.json manifest.
  • The plugin has to be out of Beta and be released with at least v1.0.0.
  • All configuration is accessible via the Mattermost UI.
  • The plugin ID defined in the manifest must not collide with the ID of an existing plugin in the Marketplace. It should follow the documentation's suggested naming convention.

Technical requirements

  • The plugin works for 60k concurrent connections and in a high-availability deployment. Note: There are currently no publicly-available tools to verify these properties. As such, they are checked during code review by a developer.
  • The plugin logs important events on appropriate log levels to allow System Admins to troubleshoot issues.

Security requirements

  • Security reviews do not reveal any exploitable vulnerabilities in the plugin.
  • The plugin provides an email address or a username on the Community Server used to report vulnerabilities in the future. Please post it into this issue or send it to [email protected].

Functional requirements

  • The plugin must set a min_server_version in the manifest.
  • The plugin must work on all Mattermost versions greater than or equal to the min_server_version.

Update mattermost-plugin-giphy to 2.1.1

Summary

  • Fix: make Gfycat results much more pertinent (previously, a lot of Gfycat results were mistakenly ignored)
  • Notify user with ephemeral message send by plugin bot when no (more) GIF was found
  • Fix error when reaching the end of Gfycat search results (moussetc/mattermost-plugin-giphy#47)
  • When "Full URL display", display attribution mark on new line (moussetc/mattermost-plugin-giphy#46)

Note: the purpose of this version is to bring these bug fixes to the maximum of users, including "older" versions, which is why the MM dependency is not upgraded.

Review reference

Commit c26638e

Checklist

  • All requirements are still met.
  • The release also has to follow Semantic Versioning. For plugins in particular this means:
    • If the plugin exposes a public API, breaking changes to the API require a major version bump.
    • If an update requires manual migration actions from the System Admin, a major version bump is required.
  • A changelog has been published. The link to it is noted via release_notes_url in the manifest.

Add Image Cropper Plugin to Marketplace

Summary

This plugin enables users to crop images/screenshots while uploading them to a chat.

Review commit

image-cropper-plugin

It should be published as Beta.

Checklist

Product requirements

  • The plugin is published under an Open Source license.
  • The source code is available in a public git repository.
  • There is a public issue or bug tracker for the plugin, which is linked in the plugin documentation and linked via support_url in the manifest.
  • The plugin provides detailed usage documentation with at least one screenshot of the plugin in action, list of features, and a development guide. This is typically a README file or a landing page on the web. The link to the documentation is set as homepage_url in the manifest. A great example is the README of the GitHub plugin.
  • For the current release and upcoming ones a changelog has to be published, with a link recorded in the release_notes_url property of the plugin.json manifest.
  • The plugin has to be out of Beta and be released with at least v1.0.0.
  • All configuration is accessible via the Mattermost UI.
  • The plugin ID defined in the manifest must not collide with the ID of an existing plugin in the Marketplace. It should follow the documentation's suggested naming convention.

Technical requirements

  • The plugin works for 60k concurrent connections and in a high-availability deployment. Note: There are currently no publicly-available tools to verify these properties. As such, they are checked during code review by a developer.
  • The plugin logs important events on appropriate log levels to allow System Admins to troubleshoot issues.

Security requirements

  • Security reviews do not reveal any exploitable vulnerabilities in the plugin.
  • The plugin provides an email address or a username on the Community Server used to report vulnerabilities in the future. Please post it into this issue or send it to [email protected].

Functional requirements

  • The plugin must set a min_server_version in the manifest.
  • The plugin must work on all Mattermost versions greater than or equal to the min_server_version.

Mattermost WebRTC video/audio call plugin

Summary

This plugin add video call and group audio call feature to Mattermost. The plugin uses WebRTC protocol built into the browser to make video/audio calls.

Configure stun/turn and signalhub servers in plugin setting. Public signalhub, turn and stun servers are provided in plugin README. To start video call go to direct message and click on the video call button on channel header button on top right:

header-button

To join audio channel click on unmute icon on top left. To start listening click on speaker icon.

voice-channel

Review commit

https://github.com/niklabh/mattermost-plugin-webrtc-video
https://github.com/niklabh/mattermost-plugin-webrtc-video/releases/tag/1.0.0

Checklist

Product requirements

  • The plugin is published under an Apache v2 compatible license (e.g. no GPL, APGL). A list of compatible licenses can be found here.
  • The source code is available in a public git repository.
  • There is a public issue or bug tracker for the plugin, which is linked in the plugin documentation and linked via support_url in the manifest.
  • The plugin provides detailed usage documentation with at least one screenshot of the plugin in action, list of features, and a development guide. This is typically a README file or a landing page on the web. The link to the documentation is set as homepage_url in the manifest. A great example is the README of the GitHub plugin.
  • For the current release and upcoming ones a changelog has to be published, with a link recorded in the release_notes_url property of the plugin.json manifest.
  • The plugin has to be out of Beta and be released with at least v1.0.0.
  • All configuration is accessible via the Mattermost UI.
  • The plugin ID defined in the manifest must not collide with the ID of an existing plugin in the Marketplace. It should follow the documentation's suggested naming convention.

Technical requirements

  • The plugin works for 60k concurrent connections and in a high-availability deployment. Note: There are currently no publicly-available tools to verify these properties. As such, they are checked during code review by a developer. (TBD)
  • The plugin logs important events on appropriate log levels to allow System Admins to troubleshoot issues. (TBD)

Security requirements

  • Security reviews do not reveal any exploitable vulnerabilities in the plugin.
  • The plugin provides an email address or a username on the Community Server used to report vulnerabilities in the future. Please post it into this issue or send it to [email protected].

Functional requirements

  • The plugin must set a min_server_version in the manifest.
  • The plugin must work on all Mattermost versions greater than or equal to the min_server_version.

Update Matterpoll to 1.5.0

Summary

Review reference

Commit matterpoll/matterpoll@b649ff2

Checklist

  • All requirements are still met.
  • The release also has to follow Semantic Versioning. For plugins in particular this means:
    • If the plugin exposes a public API, breaking changes to the API require a major version bump.
    • If an update requires manual migration actions from the System Admin, a major version bump is required.
  • A changelog has been published. The link to it is noted via release_notes_url in the manifest.

Update mattermost-plugin-giphy to 2.1.0

Summary

  • Feature: Giphy attribution marks are now sufficient to obtain a GIPHY API production Key
  • Fix: Avoid URL duplicate in markdown to avoid duplicate preview in future releases of Mattermost
  • Fix: center the plugin icon used for the marketplace
  • Fix: Update punctuation for consistency with UI formatting in the plugin settings screen

Review reference

https://github.com/moussetc/mattermost-plugin-giphy/releases/tag/v2.1.0 (93497e9)

Checklist

  • All requirements are still met.
  • The release also has to follow Semantic Versioning. For plugins in particular this means:
    • If the plugin exposes a public API, breaking changes to the API require a major version bump.
    • If an update requires manual migration actions from the System Admin, a major version bump is required.
  • A changelog has been published. The link to it is noted via release_notes_url in the manifest.

DependencyTrack Plugin

Summary

This plugin allows you to perform following actions on Mattermost:

  • Receive different notifications like NEW_VULNERABILITY, NEW_VULNERABLE_DEPENDENCY, BOM_PROCESSED from the DependencyTrack tool.
  • Receive more context information for the notifications helping you analyze the alerts without having the need to visit the DependencyTrack tool.
  • Analyze the different alerts and mark them as Exploitable, Not Affected, False Positive directly from Mattermost.
  • An option is provided to consider the analysis for vulnerabilities for one project in reference to all the other projects.
  • Synchronize status of all alerts across different project.

Ultimately, this will make the team more productive and make the experience with the DependencyTrack tool much smoother.

Notification about a New Vulnerability from the DependencyTrack tool

Notification about a New Vulnerable Dependency

Options to analyze the different vulnerabilities

Review commit

srkgupta/mattermost-plugin-dependency-track@8ea4666

Checklist

Product requirements

  • The plugin is published under an Open Source license.
  • The source code is available in a public Git repository.
  • There is a public issue or bug tracker for the plugin, which is linked in the plugin documentation and linked via support_url in the manifest.
  • For the current release and upcoming ones a changelog has to be published, with a link recorded in the release_notes_url property of the plugin.json manifest.
  • The plugin has to be out of Beta and be released with at least v1.0.0.
  • All configuration is accessible via the Mattermost interface.
  • The plugin ID defined in the manifest must not collide with the ID of an existing plugin in the Marketplace. It should follow the documentation's suggested naming convention.

Technical requirements

  • The plugin works for 60k concurrent connections and in a High Availability deployment. Note: There are currently no publicly-available tools to verify these properties. As such, they are checked during code review by a developer.
  • The plugin logs important events on appropriate log levels to allow System Admins to troubleshoot issues.

Security requirements

  • Security reviews do not reveal any exploitable vulnerabilities in the plugin.
  • The plugin provides an email address or a username on the Community Server used to report vulnerabilities in the future. Please post it into this issue or send it to [email protected].

Functional requirements

  • The plugin must set a min_server_version in the manifest.
  • The plugin must work on all Mattermost versions greater than or equal to the min_server_version.

Documentation requirements (checked by a Technical Writer)

  • The plugin must include detailed usage documentation with at least one screenshot of the plugin in action, list of features, and a development guide. This is typically a README file or a landing page on the web. The link to the documentation is set as homepage_url in the manifest. A great example is the README of the GitHub plugin. Typical components of documentation include:

    • Requirements/Prerequisites
    • Installation steps
    • Configuration steps
    • Usage
    • Troubleshooting
    • Screenshots (if available)
    • Link or email address for help/support

The plugin.json file should include formatting consistent with the System Console interface. You can join the Documentation channel for assistance.

Mattermost Plugin for DigitalOcean

Summary

An interactive agent that makes it easy to provision infrastructure on DigitalOcean (DO) from within Mattermost channels. This bot will enable DevOps teams manage their infrastructure from channels with minimal effort.
An interactive agent that makes it easy to provision infrastructure on DigitalOcean (DO) from within Mattermost channels. This bot will enable DevOps teams manage their infrastructure from channels with minimal effort. The final version of the DigitalOcean Chatbot will support the following actions on DO infrastructure;

Droplets

Click image below to access feature demo

drop

  • Creating Droplets
  • Enabling droplet backups
  • Rebooting droplets
  • Rebuilding droplets
  • Snapshoting a droplet
  • Shutting down droplets

SSH Keys

SSH

  • Adding new keys
  • Removing keys

Databases

  • Creating new database clusters
  • Resizing database clusters
  • Migrating DB clusters to new regions
  • Scheduling DB clusters for maintenance
  • Adding DB users
  • Creating read-only replicas
  • Adding new databases to the DB cluster

Kubernetes

list-k8s

  • Upgrading the cluster to new patch version of Kubernetes
  • Adding a node to a cluster
  • Running cluster link checks on Kubernetes clusters
  • Fetching cluster diagnostics
  • Retrieve the kubeconfig for a Kubernetes cluster

list-nodes
k8s-config

Review commit

https://github.com/phillipahereza/mattermost-plugin-digitalocean/tree/0f59e5faa4454211d0816eca136c1c6c7d43049b

Checklist

Product requirements

  • The plugin is published under an Apache v2 compatible license (e.g. no GPL, APGL). A list of compatible licenses can be found here.
  • The source code is available in a public git repository.
  • There is a public issue or bug tracker for the plugin, which is linked in the plugin documentation and linked via support_url in the manifest.
  • The plugin provides detailed usage documentation with at least one screenshot of the plugin in action, list of features, and a development guide. This is typically a README file or a landing page on the web. The link to the documentation is set as homepage_url in the manifest. A great example is the README of the GitHub plugin.
  • For the current release and upcoming ones a changelog has to be published, with a link recorded in the release_notes_url property of the plugin.json manifest.
  • The plugin has to be out of Beta and be released with at least v1.0.0.
  • All configuration is accessible via the Mattermost UI.
  • The plugin ID defined in the manifest must not collide with the ID of an existing plugin in the Marketplace. It should follow the documentation's suggested naming convention.

Technical requirements

  • The plugin works for 60k concurrent connections and in a high-availability deployment. Note: There are currently no publicly-available tools to verify these properties. As such, they are checked during code review by a developer.
  • The plugin logs important events on appropriate log levels to allow System Admins to troubleshoot issues.

Security requirements

  • Security reviews do not reveal any exploitable vulnerabilities in the plugin.
  • The plugin provides an email address or a username on the Community Server used to report vulnerabilities in the future. Please post it into this issue or send it to [email protected].

Functional requirements

  • The plugin must set a min_server_version in the manifest.
  • The plugin must work on all Mattermost versions greater than or equal to the min_server_version.

Add moussetc/mattermost-plugin-dice-roller to Marketplace

Summary

Review commit

moussetc/mattermost-plugin-dice-roller@fa92644

Checklist

Product requirements

  • The plugin is published under an Apache v2 compatible license (e.g. no GPL, APGL). A list of compatible licenses can be found here.
  • The source code is available in a public git repository.
  • There is a public issue or bug tracker for the plugin, which is linked in the plugin documentation and linked via support_url in the manifest.
  • The plugin provides detailed usage documentation with at least one screenshot of the plugin in action, list of features, and a development guide. This is typically a README file or a landing page on the web. The link to the documentation is set as homepage_url in the manifest. A great example is the README of the GitHub plugin.
  • For the current release and upcoming ones a changelog has to be published, with a link recorded in the release_notes_url property of the plugin.json manifest.
  • The plugin has to be out of Beta and be released with at least v1.0.0.
  • All configuration is accessible via the Mattermost UI.
  • The plugin ID defined in the manifest must not collide with the ID of an existing plugin in the Marketplace. It should follow the documentation's suggested naming convention.

Technical requirements

  • The plugin works for 60k concurrent connections and in a high-availability deployment. Note: There are currently no publicly-available tools to verify these properties. As such, they are checked during code review by a developer.
  • The plugin logs important events on appropriate log levels to allow System Admins to troubleshoot issues.

Security requirements

  • Security reviews do not reveal any exploitable vulnerabilities in the plugin.
  • The plugin provides an email address or a username on the Community Server used to report vulnerabilities in the future. Please post it into this issue or send it to [email protected].

Functional requirements

  • The plugin must set a min_server_version in the manifest.
  • The plugin must work on all Mattermost versions greater than or equal to the min_server_version.

Update mattermost-plugin-giphy to v2.0.0

Summary

  • Feature: use custom message content with /gif mysearch "Here is a custom message to display"
  • Feature: by default, /gif forces preview before posting (#30). This change will impact existing plugin installs, but you can revert to the old /gif&/gifs behaviour via the plugin configuration, as per your users' preferences.
  • Feature: add a "collapsable GIF" option that displays the raw URL (workaround for #12)
  • Fix: get better results from Gfycat (less 'no more GIF available errors')
  • some refactoring

Review reference

https://github.com/moussetc/mattermost-plugin-giphy/releases/tag/v1.4.0-rc1

Checklist

  • All requirements are still met.
  • The release also has to follow Semantic Versioning. For plugins in particular this means:
    • If the plugin exposes a public API, breaking changes to the API require a major version bump.
    • If an update requires manual migration actions from the System Admin, a major version bump is required.
  • A changelog has been published. The link to it is noted via release_notes_url in the manifest.

Add mattermost-plugin-broomer to the Marketplace

Summary

Broomer plugin allows to quickly delete posts from a Mattermost channel, with a simple /broom command.

Gif of plugin in action

Review commit

nathanaelhoun/mattermost-plugin-broomer@35a09ff

Checklist

Product requirements

  • The plugin is published under an Open Source license.
  • The source code is available in a public git repository.
  • There is a public issue or bug tracker for the plugin, which is linked in the plugin documentation and linked via support_url in the manifest.
  • The plugin provides detailed usage documentation with at least one screenshot of the plugin in action, list of features, and a development guide. This is typically a README file or a landing page on the web. The link to the documentation is set as homepage_url in the manifest. A great example is the README of the GitHub plugin.
  • For the current release and upcoming ones a changelog has to be published, with a link recorded in the release_notes_url property of the plugin.json manifest.
  • The plugin has to be out of Beta and be released with at least v1.0.0.
  • All configuration is accessible via the Mattermost UI.
  • The plugin ID defined in the manifest must not collide with the ID of an existing plugin in the Marketplace. It should follow the documentation's suggested naming convention.

Technical requirements

  • The plugin works for 60k concurrent connections and in a high-availability deployment. Note: There are currently no publicly-available tools to verify these properties. As such, they are checked during code review by a developer.
  • The plugin logs important events on appropriate log levels to allow System Admins to troubleshoot issues.

Security requirements

  • Security reviews do not reveal any exploitable vulnerabilities in the plugin.
  • The plugin provides an email address or a username on the Community Server used to report vulnerabilities in the future. Please post it into this issue or send it to [email protected].
    โ‡’ I'm @nathanaelhoun on MM Community.

Functional requirements

  • The plugin must set a min_server_version in the manifest.
  • The plugin must work on all Mattermost versions greater than or equal to the min_server_version.

Only show EE-only plugins if enterprise_plugins is set

Follow up from mattermost/mattermost#14586

QA Test steps

Setup

  1. Set Marketplace URL to http://localhost:8085
  2. Enable Remote Marketplace
  3. Add an EE-only plugin by running go run ./cmd/generator/ add mattermost-plugin-mscalendar v1.0.0 --official --enterprise in Marketplace repo
  4. Start local Marketplace using make run

1. Test

  1. Run Mattermost Server Version v5.23.0 with E20 license
  2. Confirm that Markplace model does not show Microsoft Calendar Plugin. The plugin can be successfully installed.

2. Test

  1. Run Mattermost Server Version v5.24.0 without a license
  2. Confirm that Markplace model does show Microsoft Calendar Plugin. The plugin can be successfully installed.

3. Test

  1. Run Mattermost Server Version v5.24.0 with a E10 license
  2. Confirm that Markplace model does show Microsoft Calendar Plugin. The plugin can be successfully installed.

4. Test

  1. Run Mattermost Server Version v5.24.0 with a E20 license
  2. Confirm that Markplace model does show Microsoft Calendar Plugin. The plugin can be successfully installed.

5. Test

  1. Run Mattermost Server from mattermost/mattermost#14913 without a license
  2. Confirm that Markplace model does not show Microsoft Calendar Plugin

6. Test

  1. Run Mattermost Server from mattermost/mattermost#14913 with a E10 license
  2. Confirm that Markplace model does not show Microsoft Calendar Plugin

7. Test

  1. Run Mattermost Server from mattermost/mattermost#14913 with a E20 license
  2. Confirm that Markplace model does show Microsoft Calendar Plugin. The plugin can be successfully installed.

Add mattermost-plugin-badges to Marketplace

Summary

Adds the possibility to create and grant badges to show appreciation to the users.

Review commit

larkox/mattermost-plugin-badges#8

Checklist

Product requirements

  • The plugin is published under an Open Source license.
  • The source code is available in a public Git repository.
  • There is a public issue or bug tracker for the plugin, which is linked in the plugin documentation and linked via support_url in the manifest.
  • For the current release and upcoming ones a changelog has to be published, with a link recorded in the release_notes_url property of the plugin.json manifest.
  • The plugin has to be out of Beta and be released with at least v1.0.0.
  • All configuration is accessible via the Mattermost interface.
  • The plugin ID defined in the manifest must not collide with the ID of an existing plugin in the Marketplace. It should follow the documentation's suggested naming convention.

Technical requirements

  • The plugin works for 60k concurrent connections and in a High Availability deployment. Note: There are currently no publicly-available tools to verify these properties. As such, they are checked during code review by a developer.
  • The plugin logs important events on appropriate log levels to allow System Admins to troubleshoot issues.

Security requirements

  • Security reviews do not reveal any exploitable vulnerabilities in the plugin.
  • The plugin provides an email address or a username on the Community Server used to report vulnerabilities in the future. Please post it into this issue or send it to [email protected].

Functional requirements

  • The plugin must set a min_server_version in the manifest.
  • The plugin must work on all Mattermost versions greater than or equal to the min_server_version.

Documentation requirements (checked by a Technical Writer)

  • The plugin must include detailed usage documentation with at least one screenshot of the plugin in action, list of features, and a development guide. This is typically a README file or a landing page on the web. The link to the documentation is set as homepage_url in the manifest. A great example is the README of the GitHub plugin. Typical components of documentation include:

    • Requirements/Prerequisites
    • Installation steps
    • Configuration steps
    • Usage
    • Troubleshooting
    • Screenshots (if available)
    • Link or email address for help/support

The plugin.json file should include formatting consistent with the System Console interface. You can join the Documentation channel for assistance.

Add Mattermost ServiceNow Virtual Agent Plugin to Marketplace

Summary

This plugin integrates the ServiceNow Virtual Agent in Mattermost. It supports sending text messages to the Virtual Agent through Mattermost and handling/displaying different types of responses from the Virtual Agent.

Review commit

https://github.com/Brightscout/mattermost-plugin-servicenow-virtual-agent
https://github.com/Brightscout/mattermost-plugin-servicenow-virtual-agent/releases/tag/v1.2.1

Checklist

Product requirements

  • The plugin is published under an Open Source license.
  • The source code is available in a public Git repository.
  • There is a public issue or bug tracker for the plugin, which is linked in the plugin documentation and linked via support_url in the manifest.
  • For the current release and upcoming ones a changelog has to be published, with a link recorded in the release_notes_url property of the plugin.json manifest.
  • The plugin has to be out of Beta and be released with at least v1.0.0.
  • All configuration is accessible via the Mattermost interface.
  • The plugin ID defined in the manifest must not collide with the ID of an existing plugin in the Marketplace. It should follow the documentation's suggested naming convention.

Technical requirements

  • The plugin works for 60k concurrent connections and in a High Availability deployment. Note: There are currently no publicly-available tools to verify these properties. As such, they are checked during code review by a developer.
  • The plugin logs important events on appropriate log levels to allow System Admins to troubleshoot issues.

Security requirements

  • Security reviews do not reveal any exploitable vulnerabilities in the plugin.
  • The plugin provides an email address or a username on the Community Server used to report vulnerabilities in the future. Please post it into this issue or send it to [email protected].

Functional requirements

  • The plugin must set a min_server_version in the manifest.
  • The plugin must work on all Mattermost versions greater than or equal to the min_server_version.

Documentation requirements (checked by a Technical Writer)

  • The plugin must include detailed usage documentation with at least one screenshot of the plugin in action, list of features, and a development guide. This is typically a README file or a landing page on the web. The link to the documentation is set as homepage_url in the manifest. A great example is the README of the GitHub plugin. Typical components of documentation include:

    • Requirements/Prerequisites
    • Installation steps
    • Configuration steps
    • Usage
    • Troubleshooting
    • Screenshots (if available)
    • Link or email address for help/support

The plugin.json file should include formatting consistent with the System Console interface. You can join the Documentation channel for assistance.

Add Icebreaker Plugin

Summary

As in the original Readme: This plugin adds the ability to ask random users Icebreaker questions in a channel.

Review commit

Checklist

Product requirements

  • The plugin is published under an Apache v2 compatible license (e.g. no GPL, APGL). A list of compatible licenses can be found here.
  • The source code is available in a public git repository.
  • There is a public issue or bug tracker for the plugin, which is linked in the plugin documentation and linked via support_url in the manifest.
  • The plugin provides detailed usage documentation with at least one screenshot of the plugin in action, list of features, and a development guide. This is typically a README file or a landing page on the web. The link to the documentation is set as homepage_url in the manifest. A great example is the README of the GitHub plugin.
  • For the current release and upcoming ones a changelog has to be published, with a link recorded in the release_notes_url property of the plugin.json manifest.
    • Plugin does NOT compile when I add release_notes_url to the plugin.json. See this discussion
  • The plugin has to be out of Beta and be released with at least v1.0.0.
  • All configuration is accessible via the Mattermost UI.
    • No config necessary
  • The plugin ID defined in the manifest must not collide with the ID of an existing plugin in the Marketplace. It should follow the documentation's suggested naming convention.

Technical requirements

  • The plugin works for 60k concurrent connections and in a high-availability deployment. Note: There are currently no publicly-available tools to verify these properties. As such, they are checked during code review by a developer.
    • No way to check this by myself
  • The plugin logs important events on appropriate log levels to allow System Admins to troubleshoot issues.
    • Not much to log here... Though there's an open issue to add more verbose logging.

Security requirements

  • Security reviews do not reveal any exploitable vulnerabilities in the plugin.
    • No way to check this by myself
  • The plugin provides an email address or a username on the Community Server used to report vulnerabilities in the future. Please post it into this issue or send it to [email protected].
    • My username is monsdar at the Community Server

Functional requirements

  • The plugin must set a min_server_version in the manifest.
  • The plugin must work on all Mattermost versions greater than or equal to the min_server_version.

Add Standup Raven to Marketplace

Summary

It's a team standup plugin. Can be used for daily standup, weekly standup or for any frequency.

Quick demo-

Review commit

https://github.com/standup-raven/standup-raven

Checklist

Product requirements

  • The plugin is published under an Apache v2 compatible license (e.g. no GPL, APGL). A list of compatible licenses can be found here.
  • The source code is available in a public git repository.
  • There is a public issue or bug tracker for the plugin, which is linked in the plugin documentation and linked via support_url in the manifest.
  • The plugin provides detailed usage documentation with at least one screenshot of the plugin in action, list of features, and a development guide. This is typically a README file or a landing page on the web. The link to the documentation is set as homepage_url in the manifest. A great example is the README of the GitHub plugin.
  • For the current release and upcoming ones a changelog has to be published, with a link recorded in the release_notes_url property of the plugin.json manifest.
  • The plugin has to be out of Beta and be released with at least v1.0.0.
  • All configuration is accessible via the Mattermost UI.
  • The plugin ID defined in the manifest must not collide with the ID of an existing plugin in the Marketplace. It should follow the documentation's suggested naming convention.

Technical requirements

  • The plugin works for 60k concurrent connections and in a high-availability deployment. Note: There are currently no publicly-available tools to verify these properties. As such, they are checked during code review by a developer.
  • The plugin logs important events on appropriate log levels to allow System Admins to troubleshoot issues.

Security requirements

  • Security reviews do not reveal any exploitable vulnerabilities in the plugin.
  • The plugin provides an email address or a username on the Community Server used to report vulnerabilities in the future. Please post it into this issue or send it to [email protected].

Functional requirements

  • The plugin must set a min_server_version in the manifest.
  • The plugin must work on all Mattermost versions greater than or equal to the min_server_version.

Recommend plugin

Summary

The recommend plugin add channel recommendations when you run the /recommend slash command, or when you join to a channel or a team (if you have it configured)

Review commit

https://github.com/jespino/mattermost-plugin-recommend (the current version is 0.0.3)

Checklist

Product requirements

  • The plugin is published under an Apache v2 compatible license (e.g. no GPL, APGL). A list of compatible licenses can be found here.
  • The source code is available in a public git repository.
  • There is a public issue or bug tracker for the plugin, which is linked in the plugin documentation and linked via support_url in the manifest.
  • The plugin provides detailed usage documentation with at least one screenshot of the plugin in action, list of features, and a development guide. This is typically a README file or a landing page on the web. The link to the documentation is set as homepage_url in the manifest. A great example is the README of the GitHub plugin.
  • For the current release and upcoming ones a changelog has to be published, with a link recorded in the release_notes_url property of the plugin.json manifest.
  • The plugin has to be out of Beta and be released with at least v1.0.0.
  • All configuration is accessible via the Mattermost UI.
  • The plugin ID defined in the manifest must not collide with the ID of an existing plugin in the Marketplace. It should follow the documentation's suggested naming convention.

Technical requirements

  • The plugin works for 60k concurrent connections and in a high-availability deployment. Note: There are currently no publicly-available tools to verify these properties. As such, they are checked during code review by a developer.
  • The plugin logs important events on appropriate log levels to allow System Admins to troubleshoot issues.

Security requirements

  • Security reviews do not reveal any exploitable vulnerabilities in the plugin.
  • The plugin provides an email address or a username on the Community Server used to report vulnerabilities in the future. Please post it into this issue or send it to [email protected].

Functional requirements

  • The plugin must set a min_server_version in the manifest.
  • The plugin must work on all Mattermost versions greater than or equal to the min_server_version.

Add mattermost-plugin-gender-inclusive-language ๐Ÿณ๏ธโ€๐ŸŒˆ to the marketplace

Summary

Mattermost Gender Inclusive Language Plugin Logo
Mattermost Gender Inclusive Language Plugin

The gender-inclusive-language is a Mattermost Plugin which actively listens (and prohibits) for language with racist, ableist, sexist, or other exclusionary histories.

presentation

Review commit

https://github.com/ftonato/mattermost-plugin-gender-inclusive-language/releases/tag/v1.0.0

Checklist

Product requirements

  • The plugin is published under an Open Source license.
  • The source code is available in a public Git repository.
  • There is a public issue or bug tracker for the plugin, which is linked in the plugin documentation and linked via support_url in the manifest.
  • For the current release and upcoming ones a changelog has to be published, with a link recorded in the release_notes_url property of the plugin.json manifest.
  • The plugin has to be out of Beta and be released with at least v1.0.0.
  • All configuration is accessible via the Mattermost interface.
    • There's no configurations!
  • The plugin ID defined in the manifest must not collide with the ID of an existing plugin in the Marketplace. It should follow the documentation's suggested naming convention.

Technical requirements

  • The plugin works for 60k concurrent connections and in a High Availability deployment. Note: There are currently no publicly-available tools to verify these properties. As such, they are checked during code review by a developer.
  • The plugin logs important events on appropriate log levels to allow System Admins to troubleshoot issues.

Security requirements

  • Security reviews do not reveal any exploitable vulnerabilities in the plugin.
  • The plugin provides an email address or a username on the Community Server used to report vulnerabilities in the future. Please post it into this issue or send it to [email protected].

Functional requirements

  • The plugin must set a min_server_version in the manifest.
  • The plugin must work on all Mattermost versions greater than or equal to the min_server_version.

Documentation requirements (checked by a Technical Writer)

  • The plugin must include detailed usage documentation with at least one screenshot of the plugin in action, list of features, and a development guide. This is typically a README file or a landing page on the web. The link to the documentation is set as homepage_url in the manifest. A great example is the README of the GitHub plugin. Typical components of documentation include:

    • Requirements/Prerequisites
    • Installation steps
    • Configuration steps
    • Usage
    • Troubleshooting
    • Screenshots (if available)
    • Link or email address for help/support

The plugin.json file should include formatting consistent with the System Console interface. You can join the Documentation channel for assistance.

Lyno - Voice Rooms/Channels

Summary

This plugin provides a direct integration of voice channels into Mattermost. I developed this plugin within the Jitsi+Mattermost hackathon and found some time now to submit it for the marketplace.

image

Review commit

It's not possible to build it right now but we will publish the necessary npm packages soon and will comment on this issue but you can already review the code and latest build.
https://github.com/lynoapp/mattermost-plugin-lyno

Checklist

Product requirements

  • The plugin is published under an Open Source license.
  • The source code is available in a public git repository.
  • There is a public issue or bug tracker for the plugin, which is linked in the plugin documentation and linked via support_url in the manifest.
  • The plugin provides detailed usage documentation with at least one screenshot of the plugin in action, list of features, and a development guide. This is typically a README file or a landing page on the web. The link to the documentation is set as homepage_url in the manifest. A great example is the README of the GitHub plugin.
  • For the current release and upcoming ones a changelog has to be published, with a link recorded in the release_notes_url property of the plugin.json manifest.
  • The plugin has to be out of Beta and be released with at least v1.0.0.
  • All configuration is accessible via the Mattermost UI.
  • The plugin ID defined in the manifest must not collide with the ID of an existing plugin in the Marketplace. It should follow the documentation's suggested naming convention.

Technical requirements

  • The plugin works for 60k concurrent connections and in a high-availability deployment. Note: There are currently no publicly-available tools to verify these properties. As such, they are checked during code review by a developer.
  • The plugin logs important events on appropriate log levels to allow System Admins to troubleshoot issues.

Security requirements

  • Security reviews do not reveal any exploitable vulnerabilities in the plugin.
  • The plugin provides an email address or a username on the Community Server used to report vulnerabilities in the future. Please post it into this issue or send it to [email protected].

Functional requirements

  • The plugin must set a min_server_version in the manifest.
  • The plugin must work on all Mattermost versions greater than or equal to the min_server_version.

Security contact

Paul Tiedtke
[email protected]

TODO

  • Add development guide
  • Publish lyno dependencies on npm

Questions

Who will do the security review? The Mattermost team? Or should we do it internally? I think it would make more sense to have an outside entity looking into it.

Add v1.2.1 of com.github.moussetc.mattermost.plugin.giphy to the Marketplace

Summary

This plugin add /gif et /gifs commands, based on Giphy and Gfycat.

Review commit

moussetc/mattermost-plugin-giphy@735325b

Checklist

I'm not sure who's supposed to fill the issue checkboxes (me as plugin maintainer or the Product Manager/developers/Security team/QA tester as mentioned in the doc...). I've confirmed every item I could, except Technical&Security requirements.

Product requirements

  • The plugin is published under an Apache v2 compatible license (e.g. no GPL, APGL). A list of compatible licenses can be found here.
  • The source code is available in a public git repository.
  • There is a public issue or bug tracker for the plugin, which is linked in the plugin documentation and linked via support_url in the manifest. The support (Github Issues) is set in the manifest, but is it necessary to add a link to GitHub Issues in the GitHub README?
  • The plugin provides detailed usage documentation with at least one screenshot of the plugin in action, list of features, and a development guide. This is typically a README file or a landing page on the web. The link to the documentation is set as homepage_url in the manifest. A great example is the README of the GitHub plugin.
  • For the current release and upcoming ones a changelog has to be published, with a link recorded in the release_notes_url property of the plugin.json manifest.
  • The plugin has to be out of Beta and be released with at least v1.0.0.
  • All configuration is accessible via the Mattermost UI.
  • The plugin ID defined in the manifest must not collide with the ID of an existing plugin in the Marketplace. It should follow the documentation's suggested naming convention.

Technical requirements

  • The plugin works for 60k concurrent connections and in a high-availability deployment. Note: There are currently no publicly-available tools to verify these properties. As such, they are checked during code review by a developer.
  • The plugin logs important events on appropriate log levels to allow System Admins to troubleshoot issues.

Security requirements

  • Security reviews do not reveal any exploitable vulnerabilities in the plugin.
  • The plugin provides an email address or a username on the Community Server used to report vulnerabilities in the future : cmousset on the community server (also added in the plugin's README)

Functional requirements

  • The plugin must set a min_server_version in the manifest.
  • The plugin must work on all Mattermost versions greater than or equal to the min_server_version.

DependencyTrack Plugin

Summary

The DependencyTrack plugin for Mattermost allows users to subscribe to various alerts from the DependencyTrack tool, and perform various actions on the alerts - directly from Mattermost.

Notification about a New Vulnerability from the DependencyTrack tool

Notification about a New Vulnerable Dependency

Options to analyze the different vulnerabilities

Review commit

https://github.com/srkgupta/mattermost-plugin-dependency-track/releases/tag/v1.0.0

Checklist

Product requirements

  • The plugin is published under an Open Source license.
  • The source code is available in a public git repository.
  • There is a public issue or bug tracker for the plugin, which is linked in the plugin documentation and linked via support_url in the manifest.
  • The plugin provides detailed usage documentation with at least one screenshot of the plugin in action, list of features, and a development guide. This is typically a README file or a landing page on the web. The link to the documentation is set as homepage_url in the manifest. A great example is the README of the GitHub plugin.
  • For the current release and upcoming ones a changelog has to be published, with a link recorded in the release_notes_url property of the plugin.json manifest.
  • The plugin has to be out of Beta and be released with at least v1.0.0.
  • All configuration is accessible via the Mattermost UI.
  • The plugin ID defined in the manifest must not collide with the ID of an existing plugin in the Marketplace. It should follow the documentation's suggested naming convention.

Technical requirements

  • The plugin works for 60k concurrent connections and in a high-availability deployment. Note: There are currently no publicly-available tools to verify these properties. As such, they are checked during code review by a developer.
  • The plugin logs important events on appropriate log levels to allow System Admins to troubleshoot issues.

Security requirements

  • Security reviews do not reveal any exploitable vulnerabilities in the plugin.
  • The plugin provides an email address or a username on the Community Server used to report vulnerabilities in the future. Please post it into this issue or send it to [email protected].

Functional requirements

  • The plugin must set a min_server_version in the manifest.
  • The plugin must work on all Mattermost versions greater than or equal to the min_server_version.

Add Mattermost Plugin Outlook Presence to the Marketplace

Summary

This plugin is used for getting status updates for users. It adds an additional websocket endpoint to the Mattermost server which can be connected to without an active user's valid token. It also exposes a new paginated API to get the statuses of all users along with their emails. The purpose of this plugin is to provide status updates to Microsoft Outlook through the use of an intermediary Windows binary that runs in the background on each user's desktop.

Review commit

https://github.com/Brightscout/mattermost-plugin-outlook-presence

Checklist

Product requirements

  • The plugin is published under an Open Source license.
  • The source code is available in a public Git repository.
  • There is a public issue or bug tracker for the plugin, which is linked in the plugin documentation and linked via support_url in the manifest.
  • For the current release and upcoming ones a changelog has to be published, with a link recorded in the release_notes_url property of the plugin.json manifest.
  • The plugin has to be out of Beta and be released with at least v1.0.0.
  • All configuration is accessible via the Mattermost interface.
  • The plugin ID defined in the manifest must not collide with the ID of an existing plugin in the Marketplace. It should follow the documentation's suggested naming convention.

Technical requirements

  • The plugin works for 60k concurrent connections and in a High Availability deployment. Note: There are currently no publicly-available tools to verify these properties. As such, they are checked during code review by a developer.
  • The plugin logs important events on appropriate log levels to allow System Admins to troubleshoot issues.

Security requirements

  • Security reviews do not reveal any exploitable vulnerabilities in the plugin.
  • The plugin provides an email address or a username on the Community Server used to report vulnerabilities in the future. Please post it into this issue or send it to [email protected].

Functional requirements

  • The plugin must set a min_server_version in the manifest.
  • The plugin must work on all Mattermost versions greater than or equal to the min_server_version.

Documentation requirements (checked by a Technical Writer)

  • The plugin must include detailed usage documentation with at least one screenshot of the plugin in action, list of features, and a development guide. This is typically a README file or a landing page on the web. The link to the documentation is set as homepage_url in the manifest. A great example is the README of the GitHub plugin. Typical components of documentation include:

    • Requirements/Prerequisites
    • Installation steps
    • Configuration steps
    • Usage
    • Troubleshooting
    • Screenshots (if available)
    • Link or email address for help/support

The plugin.json file should include formatting consistent with the System Console interface. You can join the Documentation channel for assistance.

Add collabora-mattermost to Marketplace

Summary

  • Mattermost plugin to integrate Collabora Online so that users can view or edit files directly in the chat.
  • Can edit existing files and allow creating new files from existing templates.
  • Needs external service for document preview to be configured.

Peek 2021-06-22 12-09

Peek 2021-06-22 12-13

Review commit

https://github.com/CollaboraOnline/collabora-mattermost/tree/59f502fbbfc26b7b87b532b80aa31c117dd63d18

Checklist

Product requirements

  • The plugin is published under an Open Source license.
  • The source code is available in a public git repository.
  • There is a public issue or bug tracker for the plugin, which is linked in the plugin documentation and linked via support_url in the manifest.
  • The plugin provides detailed usage documentation with at least one screenshot of the plugin in action, list of features, and a development guide. This is typically a README file or a landing page on the web. The link to the documentation is set as homepage_url in the manifest. A great example is the README of the GitHub plugin.
  • For the current release and upcoming ones a changelog has to be published, with a link recorded in the release_notes_url property of the plugin.json manifest.
  • The plugin has to be out of Beta and be released with at least v1.0.0.
  • All configuration is accessible via the Mattermost UI.
  • The plugin ID defined in the manifest must not collide with the ID of an existing plugin in the Marketplace. It should follow the documentation's suggested naming convention.

Technical requirements

  • The plugin works for 60k concurrent connections and in a high-availability deployment. Note: There are currently no publicly-available tools to verify these properties. As such, they are checked during code review by a developer.
  • The plugin logs important events on appropriate log levels to allow System Admins to troubleshoot issues.

Security requirements

  • Security reviews do not reveal any exploitable vulnerabilities in the plugin.
  • The plugin provides an email address or a username on the Community Server used to report vulnerabilities in the future. Please post it into this issue or send it to [email protected].

Functional requirements

  • The plugin must set a min_server_version in the manifest.
  • The plugin must work on all Mattermost versions greater than or equal to the min_server_version.

Add mattermost-plugin-gmail to Marketplace

Summary

A plugin that brings gmail conversations within Mattermost channels, and enables users to get notified on new mails in Mattermost.

Review commit

Repository: https://github.com/abdulsmapara/mattermost-plugin-gmail/
Release (to be updated according to feedbacks): https://github.com/abdulsmapara/mattermost-plugin-gmail/releases/tag/v0.1.0-test

Checklist

To be updated further

Product requirements

  • The plugin is published under an Apache v2 compatible license (e.g. no GPL, APGL). A list of compatible licenses can be found here.
  • The source code is available in a public git repository.
  • There is a public issue or bug tracker for the plugin, which is linked in the plugin documentation and linked via support_url in the manifest.
  • The plugin provides detailed usage documentation with at least one screenshot of the plugin in action, list of features, and a development guide. This is typically a README file or a landing page on the web. The link to the documentation is set as homepage_url in the manifest. A great example is the README of the GitHub plugin.
  • For the current release and upcoming ones a changelog has to be published, with a link recorded in the release_notes_url property of the plugin.json manifest.
  • The plugin has to be out of Beta and be released with at least v1.0.0.
  • All configuration is accessible via the Mattermost UI.
  • The plugin ID defined in the manifest must not collide with the ID of an existing plugin in the Marketplace. It should follow the documentation's suggested naming convention.

Technical requirements

  • The plugin works for 60k concurrent connections and in a high-availability deployment. Note: There are currently no publicly-available tools to verify these properties. As such, they are checked during code review by a developer.
  • The plugin logs important events on appropriate log levels to allow System Admins to troubleshoot issues. (To be checked for all crucial events)

Security requirements

Functional requirements

  • The plugin must set a min_server_version in the manifest.
  • The plugin must work on all Mattermost versions greater than or equal to the min_server_version.

Hackerone Plugin

Summary

The Hackerone plugin for Mattermost allows users to subscribe to Hackerone notifications, stay up-to-date with all the reports submitted on the Hackerone platform, and other common Hackerone actions - directly from Mattermost.

Fetch certain reports from Hackerone as per filter criteria
Get detailed info about a Hackerone report
Receive notifications about any new activity

Review commit

https://github.com/srkgupta/mattermost-plugin-hackerone/releases/tag/v1.0.0

Checklist

Product requirements

  • The plugin is published under an Open Source license.
  • The source code is available in a public git repository.
  • There is a public issue or bug tracker for the plugin, which is linked in the plugin documentation and linked via support_url in the manifest.
  • The plugin provides detailed usage documentation with at least one screenshot of the plugin in action, list of features, and a development guide. This is typically a README file or a landing page on the web. The link to the documentation is set as homepage_url in the manifest. A great example is the README of the GitHub plugin.
  • For the current release and upcoming ones a changelog has to be published, with a link recorded in the release_notes_url property of the plugin.json manifest.
  • The plugin has to be out of Beta and be released with at least v1.0.0.
  • All configuration is accessible via the Mattermost UI.
  • The plugin ID defined in the manifest must not collide with the ID of an existing plugin in the Marketplace. It should follow the documentation's suggested naming convention.

Technical requirements

  • The plugin works for 60k concurrent connections and in a high-availability deployment. Note: There are currently no publicly-available tools to verify these properties. As such, they are checked during code review by a developer.
  • The plugin logs important events on appropriate log levels to allow System Admins to troubleshoot issues.

Security requirements

  • Security reviews do not reveal any exploitable vulnerabilities in the plugin.
  • The plugin provides an email address or a username on the Community Server used to report vulnerabilities in the future. Please post it into this issue or send it to [email protected].

Functional requirements

  • The plugin must set a min_server_version in the manifest.
  • The plugin must work on all Mattermost versions greater than or equal to the min_server_version.

Add Teleport to Marketplace

Summary

We've a bot that'll post access requests https://goteleport.com/features/access-requests/ from Teleport to Mattermost.

https://goteleport.com/docs/enterprise/workflow/ssh-approval-mattermost/

Below is V1 of the bot, this bot will let you approve in mattermost, v2 requires all users to go back to Teleport for improved security.

mattermost-52848149c1.mp4

Review commit

The plugin is here https://github.com/gravitational/teleport-plugins/tree/master/access/mattermost this is a server plugin, that is meant to be ran alongside Teleport and will post to the Mattermost API.

Checklist

Product requirements

  • The plugin is published under an Open Source license.
  • The source code is available in a public git repository.
  • There is a public issue or bug tracker for the plugin, which is linked in the plugin documentation and linked via support_url in the manifest.
  • The plugin provides detailed usage documentation with at least one screenshot of the plugin in action, list of features, and a development guide. This is typically a README file or a landing page on the web. The link to the documentation is set as homepage_url in the manifest. A great example is the README of the GitHub plugin.
  • For the current release and upcoming ones a changelog has to be published, with a link recorded in the release_notes_url property of the plugin.json manifest.
  • The plugin has to be out of Beta and be released with at least v1.0.0.
  • All configuration is accessible via the Mattermost UI.
  • The plugin ID defined in the manifest must not collide with the ID of an existing plugin in the Marketplace. It should follow the documentation's suggested naming convention.

Technical requirements

  • The plugin works for 60k concurrent connections and in a high-availability deployment. Note: There are currently no publicly-available tools to verify these properties. As such, they are checked during code review by a developer.
  • The plugin logs important events on appropriate log levels to allow System Admins to troubleshoot issues.

Security requirements

  • Security reviews do not reveal any exploitable vulnerabilities in the plugin.
  • The plugin provides an email address or a username on the Community Server used to report vulnerabilities in the future. Please post it into this issue or send it to [email protected].

Functional requirements

  • The plugin must set a min_server_version in the manifest.
  • The plugin must work on all Mattermost versions greater than or equal to the min_server_version.

Add spoiler plugin to the marketplace

Summary

This plugin hides a specified message by blurring it (on desktop) or replacing it with a generic message (on mobile).
You can then reveal it by hovering over it with your mouse cursor or pressing a button to reveal the content in an ephemeral post (on mobile).

preview

Review commit

https://github.com/svelle/mattermost-spoiler-plugin

Checklist

Product requirements

  • The plugin is published under an Open Source license.
  • The source code is available in a public Git repository.
  • There is a public issue or bug tracker for the plugin, which is linked in the plugin documentation and linked via support_url in the manifest.
  • For the current release and upcoming ones a changelog has to be published, with a link recorded in the release_notes_url property of the plugin.json manifest.
  • The plugin has to be out of Beta and be released with at least v1.0.0.
  • All configuration is accessible via the Mattermost interface.
  • The plugin ID defined in the manifest must not collide with the ID of an existing plugin in the Marketplace. It should follow the documentation's suggested naming convention.

Technical requirements

  • The plugin works for 60k concurrent connections and in a High Availability deployment. Note: There are currently no publicly-available tools to verify these properties. As such, they are checked during code review by a developer.
  • The plugin logs important events on appropriate log levels to allow System Admins to troubleshoot issues.

Security requirements

  • Security reviews do not reveal any exploitable vulnerabilities in the plugin.
  • The plugin provides an email address or a username on the Community Server used to report vulnerabilities in the future. Please post it into this issue or send it to [email protected].

Functional requirements

  • The plugin must set a min_server_version in the manifest.
  • The plugin must work on all Mattermost versions greater than or equal to the min_server_version.

Documentation requirements (checked by a Technical Writer)

  • The plugin must include detailed usage documentation with at least one screenshot of the plugin in action, list of features, and a development guide. This is typically a README file or a landing page on the web. The link to the documentation is set as homepage_url in the manifest. A great example is the README of the GitHub plugin. Typical components of documentation include:

    • Requirements/Prerequisites
    • Installation steps
    • Configuration steps
    • Usage
    • Troubleshooting
    • Screenshots (if available)
    • Link or email address for help/support

The plugin.json file should include formatting consistent with the System Console interface. You can join the Documentation channel for assistance.

Add mattermost-plugin-chess to Marketplace

Summary

The plugin allows users to play games of Chess using chess.js and cm-chessboard. I built it a few years ago and someone requested to have it added to Marketplace, so I'm submitting it although it may require changes.

The main potential issue is that a while ago, I started having problems with mattermost-redux. With v5.33.1 and other recent versions via npm, the createPost action didn't work anymore, and I couldn't use older versions because it seems to be incompatible with recent mattermost-webapp versions which is what originally broke my plugin and caused me to investigate. Interestingly, if I took the same mattermost-redux code and built it into .js myself, and added those files to my project directly, it worked. So as a workaround to fix my project, I just left them there. But I guess this may be a security issue or otherwise undesirable, but not sure how to proceed since mattermost-redux isn't getting update and I could never figure out the root cause of the problem. You can reproduce this by adding mattermost-redux via npm and changing the import paths and building the plugin.

Review commit

https://github.com/MatthewDorner/mattermost-plugin-chess/releases/tag/v1.2.0
https://github.com/MatthewDorner/mattermost-plugin-chess/releases/tag/v1.2.1

  • The plugin is published under an Open Source license.
  • The source code is available in a public Git repository.
  • There is a public issue or bug tracker for the plugin, which is linked in the plugin documentation and linked via support_url in the manifest.
  • For the current release and upcoming ones a changelog has to be published, with a link recorded in the release_notes_url property of the plugin.json manifest.
    I wasn't sure exactly where to put these and was getting errors when I tried to add them. Maybe something in my plugin is out of date. Is there a link to an example plugin where these fields are present?
  • The plugin has to be out of Beta and be released with at least v1.0.0.
  • All configuration is accessible via the Mattermost interface.
    There is no configuration
  • The plugin ID defined in the manifest must not collide with the ID of an existing plugin in the Marketplace. It should follow the documentation's suggested naming convention.

Technical requirements

  • The plugin works for 60k concurrent connections and in a High Availability deployment. Note: There are currently no publicly-available tools to verify these properties. As such, they are checked during code review by a developer.
  • The plugin logs important events on appropriate log levels to allow System Admins to troubleshoot issues.

Security requirements

  • Security reviews do not reveal any exploitable vulnerabilities in the plugin.
  • The plugin provides an email address or a username on the Community Server used to report vulnerabilities in the future. Please post it into this issue or send it to [email protected].

Functional requirements

  • The plugin must set a min_server_version in the manifest.
  • The plugin must work on all Mattermost versions greater than or equal to the min_server_version.

Documentation requirements (checked by a Technical Writer)

  • The plugin must include detailed usage documentation with at least one screenshot of the plugin in action, list of features, and a development guide. This is typically a README file or a landing page on the web. The link to the documentation is set as homepage_url in the manifest. A great example is the README of the GitHub plugin. Typical components of documentation include:

    • Requirements/Prerequisites
    • Installation steps
    • Configuration steps
    • Usage
    • Troubleshooting
    • Screenshots (if available)
    • Link or email address for help/support

The plugin.json file should include formatting consistent with the System Console interface. You can join the Documentation channel for assistance.

Add Mattermost Azure DevOps Plugin to Marketplace

Summary

This plugin integrates the services of Azure DevOps Boards in Mattermost.

Review commit

https://github.com/Brightscout/mattermost-plugin-azure-devops
https://github.com/Brightscout/mattermost-plugin-azure-devops/releases/tag/v1.0.1

Checklist

Product requirements

  • The plugin is published under an Open Source license.
  • The source code is available in a public Git repository.
  • There is a public issue or bug tracker for the plugin, which is linked in the plugin documentation and linked via support_url in the manifest.
  • For the current release and upcoming ones a changelog has to be published, with a link recorded in the release_notes_url property of the plugin.json manifest.
  • The plugin has to be out of Beta and be released with at least v1.0.0.
  • All configuration is accessible via the Mattermost interface.
  • The plugin ID defined in the manifest must not collide with the ID of an existing plugin in the Marketplace. It should follow the documentation's suggested naming convention.

Technical requirements

  • The plugin works for 60k concurrent connections and in a High Availability deployment. Note: There are currently no publicly-available tools to verify these properties. As such, they are checked during code review by a developer.
  • The plugin logs important events on appropriate log levels to allow System Admins to troubleshoot issues.

Security requirements

  • Security reviews do not reveal any exploitable vulnerabilities in the plugin.
  • The plugin provides an email address or a username on the Community Server used to report vulnerabilities in the future. Please post it into this issue or send it to [email protected].

Functional requirements

  • The plugin must set a min_server_version in the manifest.
  • The plugin must work on all Mattermost versions greater than or equal to the min_server_version.

Documentation requirements (checked by a Technical Writer)

  • The plugin must include detailed usage documentation with at least one screenshot of the plugin in action, list of features, and a development guide. This is typically a README file or a landing page on the web. The link to the documentation is set as homepage_url in the manifest. A great example is the README of the GitHub plugin. Typical components of documentation include:

    • Requirements/Prerequisites
    • Installation steps
    • Configuration steps
    • Usage
    • Troubleshooting
    • Screenshots (if available)
    • Link or email address for help/support

The plugin.json file should include formatting consistent with the System Console interface. You can join the Documentation channel for assistance.

Add mattermost-plugin-default-theme to Marketplace

Summary

This plugin allows the sysadmin to define a set theme for all new users to have when they create their account. Users can still change their theme to want they want as usual.

Review commit

mickmister/mattermost-plugin-default-theme@1ab4ed8

Checklist

Product requirements

  • The plugin is published under an Open Source license.
  • The source code is available in a public git repository.
  • There is a public issue or bug tracker for the plugin, which is linked in the plugin documentation and linked via support_url in the manifest.
  • The plugin provides detailed usage documentation with at least one screenshot of the plugin in action, list of features, and a development guide. This is typically a README file or a landing page on the web. The link to the documentation is set as homepage_url in the manifest. A great example is the README of the GitHub plugin.
  • For the current release and upcoming ones a changelog has to be published, with a link recorded in the release_notes_url property of the plugin.json manifest.
  • The plugin has to be out of Beta and be released with at least v1.0.0.
  • All configuration is accessible via the Mattermost UI.
  • The plugin ID defined in the manifest must not collide with the ID of an existing plugin in the Marketplace. It should follow the documentation's suggested naming convention.

Technical requirements

  • The plugin works for 60k concurrent connections and in a high-availability deployment. Note: There are currently no publicly-available tools to verify these properties. As such, they are checked during code review by a developer.
  • The plugin logs important events on appropriate log levels to allow System Admins to troubleshoot issues.

Security requirements

  • Security reviews do not reveal any exploitable vulnerabilities in the plugin.
  • The plugin provides an email address or a username on the Community Server used to report vulnerabilities in the future. Please post it into this issue or send it to [email protected].

Functional requirements

  • The plugin must set a min_server_version in the manifest.
  • The plugin must work on all Mattermost versions greater than or equal to the min_server_version.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.