Skip to main content
Help the Python Software Foundation raise $60,000 USD by December 31st!  Building the PSF Q4 Fundraiser

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

Project description


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


pip install githubot


Create release with assets

Releases management.

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

    --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" \

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...]

    --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.

./ 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.

./ 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.

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


  • 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
  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


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

Generated by auto-changelog.


12 July 2020

  • feat: add config command #16


21 August 2019


21 August 2019

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


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.7.0
Filename, size File type Python version Upload date Hashes
Filename, size githubot-0.7.0-py3-none-any.whl (7.6 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size githubot-0.7.0.tar.gz (6.0 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page