Manage your github repo as code!
Project description
dothub
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!
Install
pip install dothub
Usage
The first time you run dothub it will run a wizard to help you configure your credentials.
Repository configuration
Retrieve locally:
$ dothub repo pull
.dothub.repo.yml updated
This creates a file that represents your repo configuration
Updating from local changes:
dothub repo push
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. dnarnaj89 has been invited as a collaborator, travis hooks have been disabled and you have a new awesome “new-tag”
Organization Configuration
Retrieve locally:
dothub org pull
Updating from local changes:
dothub repo push
Updating all repositories within an organization
You can update all the repositories of an organization from your .dothub.repo.yml file.
You can just do dothub repo pull --output_file=.dothub.org.repos.yml from a repo with the default configuration and then dothub org repos to configure all the repositories. Note that some repository specific options like the name or the description will be ignored on the update.
Targeting a different repo from the current workspace
By default dothub will assume you want to work with the repo that your workspace is in or the organization of repo for the current tracking branch in case of organization commands but this can be overriden through some parameters.
dothub repo --owner=org_name --repository=repo_name pull
dothub org --name=org_name pull
dothub repo --owner=org_name --repository=repo_name push
dothub org --name=org_name push
Future features
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.
FAQ
How can I retriger the reconfigure step?
Just run dothub configure
How can I use the tool if I am need to provide a custom SSL certificate?
Pass the envvar REQUESTS_CA_BUNDLE=YOURCERTPATH.cer before running dothub
I don’t want the tool to manage my webhooksi a part of the config
Just remove that part! If there is full section missing (hooks, options, members, etc.). It will be ignored
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file dothub-0.11.3.tar.gz
.
File metadata
- Download URL: dothub-0.11.3.tar.gz
- Upload date:
- Size: 12.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8d294142e763727ef12ab883560773314ed6798fb61290d549d6040949b0ee72 |
|
MD5 | e7583771bee14e8f1489667271dda08f |
|
BLAKE2b-256 | 09e1d40e3eb1ec52d659211a33d862b8e166188cbd05b34155d48f8213d464fa |