This GitHub App syncs repository settings defined in settings.yml to GitHub.
This app requires python. Versions confirmed to work: 3.6.6
To install the required pyyaml, configobj, and request library, run pip install pyyaml configobj request.
- Clone this repository into some directory
- Edit the
settings.ymlfile in the cloned directory. Changes to this file will be synced to GitHub. - From the command line in the cloned directory execute:
python github-settings.py https://github.com/repo1/url https://github.com/repo2/url ...
Each argument is the url to a GitHub repository for these settings to be applied to. - Enter personal access token when prompted. If you do not have a token, you can create one in GitHub developer settings by following these instructions..
- All top-level settings are optional. Some plugins do have required fields. See settings-example.yml for all possible settings.
- Each top-level element under branch protection must be filled (eg:
required_pull_request_reviews,required_status_checks,enforce_adminsandrestrictions). If you don't want to use one of them you must set it tonull(see comments in the example above). Otherwise, none of the settings will be applied. - Example of all available settings with comments and links for further guidance can be found in settings-example.yml.