escolalms/mattermost

Escola LMS mattermost integration.

Maintainers

👁 qunabu

Package info

github.com/EscolaLMS/Mattermost

Type:package

pkg:composer/escolalms/mattermost

Statistics

Installs: 10 500

Dependents: 1

Suggesters: 0

Stars: 0

Open Issues: 0

0.1.6 2026-03-25 11:00 UTC

Suggests

None

Provides

None

Conflicts

None

Replaces

None

MIT 3581d3824d49603836078681ee1c1140e2649375

  • Mateusz Wojczal <mateusz.woop@wojczal.com>

This package is auto-updated.

Last update: 2026-06-25 11:36:58 UTC


README

👁 swagger
👁 codecov
👁 phpunit
👁 downloads
👁 downloads
👁 downloads
👁 Maintainability
👁 Test Coverage

What does it do

This package is used for Mattermost integration.

It listens for Events then add/remove user for mattermost and particular channels either as standard user or admin.

Installing

  • composer require escolalms/mattermost

Example

You can configure the package using Facade

Config::set('mattermost.package_status', PackageStatusEnum::ENABLED);
Config::set('mattermost.servers.default.host', 'localhost');
Config::set('mattermost.servers.default.login', 'login');
Config::set('mattermost.servers.default.password', 'password');

or /api/admin/config endpoint

$this->actingAs($this->user, 'api')->json(
 'POST',
 '/api/admin/config',
 [
 'config' => [
 [
 'key' => 'mattermost.package_status',
 'value' => PackageStatusEnum::ENABLED,
 ],
 [
 'key' => 'mattermost.servers.default.host',
 'value' => 'localhost',
 ],
 [
 'key' => 'mattermost.servers.default.login',
 'value' => 'login',
 ],
 [
 'key' => 'mattermost.servers.default.password',
 'value' => 'password',
 ],
 ]
 ]
);

Endpoints

All the endpoints are defined in 👁 swagger

Test

Run ./vendor/bin/phpunit to run tests. See tests folder as it's quite good staring point as documentation appendix. Test details 👁 codecov
👁 phpunit

Listeners

Handling events

  • EscolaLms\Auth\Events\AccountConfirmed => add user to Mattermost
  • EscolaLms\Auth\Events\AccountDeleted => remove user from Mattermost
  • EscolaLms\Auth\Events\AccountBlocked => block user account
  • EscolaLms\Courses\Events\CourseAssigned => add user to course channel with member role
  • EscolaLms\Courses\Events\CourseUnassigned => remove user from course channel
  • EscolaLms\Courses\Events\CourseTutorAssigned => add user to course channel with channel_admin role
  • EscolaLms\Courses\Events\CourseTutorUnassigned => remove user from course channel
  • EscolaLms\Webinar\Events\WebinarUserAssigned => add user to webinar channel with member role
  • EscolaLms\Webinar\Events\WebinarUserUnassigned => remove user from webinar channel
  • EscolaLms\Webinar\Events\WebinarTrainerAssigned => add user to webinar channel with channel_admin role
  • EscolaLms\Webinar\Events\WebinarTrainerUnassigned => remove user from webinar channel