Stop managing your github configuration through an UI like a mere human and do everything through beautiful config YAML files.
dothub allows you to declare your configuration in a config file and update it by just updating the file. This way you can configure your labels, collaborators, default repo and organization parameters and other as code and have them version controlled.
If you are not sure how to configure something through the config file just change it in the UI and sync it locally with your file, you will see the changes! Next time you wont need to do any clicks!
pip install dothub
The first time you run dothub it will run a wizard to help you configure your credentials.
$ dothub pull mariocj89/dothub
.dothub.repo.yml updated
This creates a file that represents your repo configuration
dothub push mariocj89/dothub
Changes:
+ root['collaborators']['dnaranjo89']
+ root['labels']['new-tag']
C root['hooks']['travis']['active'] (True -> False)
Apply changes? [Y/n]: Y
Updated!
You can check the repo configuration in github. dnarnajo89 has been invited as a collaborator, travis hooks have been disabled and you have a new awesome "new-tag"
dothub pull <org_name>
dothub push <org_name>
You can update all the repositories of an organization from your .dothub.repo.yml file.
To make a repo configuration be a template for all the repositories of your org you can use dothub as follows:
dothub pull <org/repo> .dothub.org.repos.yml
dothub push --bulk org/*
Note that some repository specific options like the name or the description will be ignored on the update.
This is justa prototype, dothub aims to be the configuration tool for your whole github see here for the features that are going to come available soon.
Just run dothub configure
Pass the envvar REQUESTS_CA_BUNDLE=YOURCERTPATH.cer before running dothub
Just remove that part! If there is full section missing (hooks, options, members, etc.). It will be ignored