This script lets you synchronize labels and milestones between different GitHub repositories.
Clone the repository and install composer dependencies:
git clone https://github.com/matomo-org/github-sync
cd github-sync
composer install
If you do not have composer installed, it is explained here. If you installed composer locally (in the directory) you can alternatively run php composer.phar install
.
Simply run the github-sync.php
script to see how to use the command:
./github-sync.php help sync
Here is an example of the full command line:
./github-sync.php sync matomo-org/matomo matomo-org/plugin-CustomAlerts --token=12345abcd
The script will ask you before doing any modification so don't be afraid to run it to see if it works.
You can provide a GitHub Personal Access Token using the --token
option. This is necessary if you want to create/delete/update labels and milestones. If you just want to try out the script without doing any modification, you don't need to provide a token.
You can synchronize multiple repositories:
./github-sync.php sync matomo-org/matomo matomo-org/plugin-CustomAlerts matomo-org/plugin-SecurityInfo
Here the plugin-SiteMigration
and plugin-TasksTimetable
repositories will both be synchronized to matomo-org/matomo
.
Additionally, you can use the *
wildcard to synchronize with all you repositories matching the pattern:
./github-sync.php sync matomo-org/matomo "matomo-org/*"
Note: *
can be interpreted by your shell, in that case use quotes as shown in the example above.
This tool is released under the LGPL v3.0.