Skip to main content
Join the official 2019 Python Developers SurveyStart the survey!

Command line tool to use Github API to automate some works.

Project description

githubot

Build Status license

Command line tool to use Github's API for automation:

  • [x] create release with assets
  • [x] upload/download files to github
  • [ ] TODO

Installation

pip install githubot

Usage

Create release with assets

Releases management.

Usage: githubot release --token=TOKEN --repo=REPO
                        [--tag=TAG] [--title=TITLE] [--message=MESSAGE]
                        [ASSETS...]

Options:
    --token=TOKEN           Github access token.
    -r=REPO --repo=REPO     Repo full name like: owner/repo.
    --tag=TAG               Tag name for the release. If the tag does not
                            exist it will be created on default branch.
    --title=TITLE           Title for the release.
    --message=MESSAGE       Message for the release.
    -h --help               Show this message and exit.

For example:

Create a release to repo WqyJh/test with assets under the path of assets/.

githubot release --token <github_token> --repo WqyJh/test assets/*

Create a release and specify tag, title and message for it.

githubot release \
--token <github_token> \
--repo WqyJh/test \
--tag test_tag \
--title "This is an test title" \
--message "This release contains xxx" \
assets/*

Only regular files are supported for the --assets option, directories are not supported. You can specify files in the following manner:

--assets file1 file2
--assets path/* # wildcard

Use github repo as cloud storage

Files management.

Usage: githubot file upload --token=TOKEN --repo=REPO  [FILES...]
       githubot file download --token=TOKEN --repo=REPO  [FILES...]

Options:
    --token=TOKEN           Github access token.
    -r=REPO --repo=REPO     Repo full name like: owner/repo.
    -h --help               Show this message and exit.

Upload files

Upload files to github repo WqyJh/test.

./run.py file upload \
--token <github_token> \
--repo WqyJh/test \
file1 file2 file*

Note that the FILES argument is just the same with ASSETS, only regular files are supported.

Download files

Download files from github repo WqyJh/test.

./run.py file download \
--token <github_token> \
--repo WqyJh/test \
file1 dir1 dir2/

Note that the FILES argument here cannot contains wildcard, but it can contains directories.

Delete files

Delete files from github repo.

./run.py file delete \
--token <github_token> \
--repo Wqyjh/test \
file1 dir1 dir2/

Development

  • bumping 0.3.0 (PYPI)
  • auto-changelog 1.15.0 (NPM)

The release processing is as follow:

  1. Calculate semantic version
    git checkout dev
    git pull origin dev
    bumping
    
  2. Create release branch from dev
    git checkout -b release-<version>
    
  3. Modify the version and commit
  4. Generate changelog and commit
    auto-changelog --latest-version <version> --tag-prefix v
    
  5. Merge to master branch
  6. Tag version to master branch

Changelog

All notable changes to this project will be documented in this file. Dates are displayed in UTC.

Generated by auto-changelog.

0.6.1

21 August 2019

0.6.0

21 August 2019

  • Release 0.6.0 #10
  • docs: update README.md #9
  • feat: add file delete #8
  • feat: add directory downloading #7
  • docs: update README.md #4
  • docs: update CHANGELOG.md e6c15a5
  • Bump version to 0.6.0 7156b94
  • Resolve conflicts c794221

0.4.0

20 August 2019

  • Release 0.4.0 #2
  • Storage #1
  • feat: add release creation with assets uploading 28c5214
  • feat: replace click with docopt 9a7acd9
  • chore: add setup configurations 2cc899f

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for githubot, version 0.6.1
Filename, size File type Python version Upload date Hashes
Filename, size githubot-0.6.1-py3-none-any.whl (6.7 kB) File type Wheel Python version py3 Upload date Hashes View hashes
Filename, size githubot-0.6.1.tar.gz (4.7 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page