insoln avatar

plugin-mm-importer-dev

Mattermost mm-importer plugin development workflow (SemVer bump, Docker multi-stage build, bundle ou

作者 insoln|オープンソース

Mattermost Plugin: mm-importer

When to use

  • Editing plugin server code under infra/plugin/server/
  • Updating plugin API endpoints or behavior
  • Changing attachment streaming (/attachment_from_url) or size validation
  • Building and packaging the plugin bundle for deployment

Key rules

  • Do not use legacy build scripts. Use the multi-stage Docker build helper:
    • bash infra/plugin/build-docker.sh
  • If you change plugin code, bump the version in infra/plugin/plugin.json following SemVer.

Build (canonical)

From repo root:

  • bash infra/plugin/build-docker.sh

Expected output:

  • infra/plugin/dist/mm-importer-<version>.tar.gz

Deploy / enable via backend

Backend management endpoints are exposed in two equivalent forms:

  • /plugin/* (legacy, used by some scripts)
  • /api/plugin/* (documented in the root README)

Common endpoints:

  • GET /plugin/status (or GET /api/plugin/status)
  • POST /plugin/ensure (or POST /api/plugin/ensure) — idempotent deploy+enable
  • POST /plugin/deploy (or POST /api/plugin/deploy)
  • POST /plugin/enable (or POST /api/plugin/enable)
  • POST /plugin/reinstall (or POST /api/plugin/reinstall)

Typical flow:

  1. Ensure backend is healthy: curl http://localhost:8000/healthcheck
  2. Ensure plugin installed+enabled: curl -X POST http://localhost:8000/plugin/ensure
  3. Verify plugin responds (example): http://localhost:8065/plugins/mm-importer/api/v1/hello

Related docs

plugin-mm-importer-dev - Claude Code・Cursor 対応の AIエージェント Skill | Agent Skills