Github organization are great way for organization to manage their git repositories. github-collective is a tool that will let you automate tedious tasks of creating teams, granting permission and creating repositories.
Approach that github-collective tool takes is that you edit central configuration (for now only ini-like file) from where configuration is read and updated respectivly.
Initially purposo of this scrip is to manage Plone's collective organisation on github: https://collective.github.com
How to install
% pip install github-collective
(or)
% easy_install github-collective
Usage:
When github-collective is installed it should create executable with same name.
% bin/github-collective --help
usage: github-collective [-h] -c CONFIG [-M MAILER] [-C CACHE] -o GITHUB_ORG
-u GITHUB_USERNAME -P GITHUB_PASSWORD [-v] [-p]
This tool will let you automate tedious tasks of creating teams granting
permission and creating repositories.
optional arguments:
-h, --help show this help message and exit
-c CONFIG, --config CONFIG
path to configuration file (could also be remote
location). eg.
http://collective.github.com/permissions.cfg (default:
None)
-M MAILER, --mailer MAILER
TODO (default: None)
-C CACHE, --cache CACHE
path to file where to cache results from github.
(default: None)
-o GITHUB_ORG, --github-org GITHUB_ORG
github organisation. (default: None)
-u GITHUB_USERNAME, --github-username GITHUB_USERNAME
github account username. (default: None)
-P GITHUB_PASSWORD, --github-password GITHUB_PASSWORD
github account password. (default: None)
-v, --verbose
-p, --pretend
Example of configuration stored locally
% bin/github-collective \
-c example.cfg \ # path to configuration file
-o vim-addons \ # organization that we are
-u garbas \ # account that has management right for organization
-P PASSWORD # account password
Example of configuration stored on github
% bin/github-collective \
-c https://raw.github.com/garbas/github-collective/master/example.cfg \
# url to configuration file
-o collective \ # organization that we are
-u garbas \ # account that has management right for organization
-P PASSWORD # account password
Example of cached configuration
% bin/github-collective \
-c https://raw.github.com/garbas/github-collective/master/example.cfg \
# url to configuration file
-C .cache # file where store and read cached results from github
-o collective \ # organization that we are
-u garbas \ # account that has management right for organization
-P PASSWORD # account password
What is new in this release:
- Restore ability to fork repositories to organisations after unexpected API change. [davidjb]
- Ensure fork data payload (org name) is sent as JSON. [davidjb]
- Allow forks to be correctly named once created. GitHub's API forks using the same name originally, so we need to rename once forked. [davidjb]
- Add rename helper functionality to sync module. (Note that configuration does not yet support renaming) [davidjb]
- Read the Docs-ified documentation. [davidjb]
What is new in version 0.3.2:
- Fix issue with templating of hook variables. Previously, the original config was being altered, preventing further templating. [davidjb]
- Fix issue with hooks being updated from cache by storing the existing integer ID. [davidjb]
- Fix issue with cache not being updated on repo change. [davidjb]
What is new in version 0.1.4:
- Adding support for requests==0.10.2 and removing pdb [f561d79, garbas]
What is new in version 0.1.3:
- Fix caching file bug, cache now working [garbas]
What is new in version 0.1.2:
- remane team to old_team to keep convention in sync.run method, using add instead of update on sets [e48de49, garbas]
- pretend should work for all except get reuqest type [e098f9d, garbas]
- nicer dump of json in cache file, unindent section which searches for repos defined in teams [b8cb123, garbas]
- we should write to cache file when there is no cache file avaliable [fd7f9ee, garbas]
Requirements:
- Python
- Argparse
- requests
Comments not found