This guide applies to Matomo core developers. If you develop a plugin and want to share it as a contributor please check out the guide for distributing plugins.
Creating a new GitHub repository
to create a new github repository under matomo-org
. The name for the plugin usually starts with plugin-
followed by the plugin name. You can for example ping us in our slack. We use *.x-dev
as the main branch where *
would be replaced by the latest major version of Matomo.
https://hosted.weblate.org/hooks/github/
as the Payload URLgit submodule add {http-plugin-github-address} plugins/{pluginname}
.gitmodules
and move the entry for this submodule before the comment at the bottom (see description of that comment)*.x-dev
and only allow the "plugin reviewers" team to merge into these branches.Go to Matomo-org secrets and change the ARTIFACTS_PASS
secret to allow the repository to access this secret. To do this, follow below steps for each secret:
LICENSE
file similar to https://github.com/matomo-org/plugin-QueuedTracking/blob/5.x-dev/LICENSEplugin.json
plugin.json
. Same for other values in the plugin JSON file.screenshots
folder.docs/index.md
or docs/faq.md
are not needed then delete themplugin_SomeName
-> SomeName
.gitignore
file in your plugins folder and add the new folder. This .gitignore
file is already ignored in the main .gitignore
Build and launch a new Premium Plugin
.To get travis to checkout the screenshots correctly and use LFS you will need to add/change the .travis.yml
within your plugin like this (eg see this file):
before_install:
- if [[ "${TEST_SUITE}" == "UITests" ]]; then git lfs fetch; git lfs checkout; fi
And you need to create a file tests/travis/before_install.after.yml
in your plugin with the following content (eg see this file):
- if [[ "${TEST_SUITE}" == "UITests" ]]; then git lfs fetch; git lfs checkout; fi