Skip to main content

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:

  • create release with assets
  • 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.7.0

12 July 2020

  • feat: add config command #16

v0.6.1

21 August 2019

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

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

Source Distribution

githubot-0.7.0.tar.gz (6.0 kB view details)

Uploaded Source

Built Distribution

githubot-0.7.0-py3-none-any.whl (7.6 kB view details)

Uploaded Python 3

File details

Details for the file githubot-0.7.0.tar.gz.

File metadata

  • Download URL: githubot-0.7.0.tar.gz
  • Upload date:
  • Size: 6.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/49.1.3 requests-toolbelt/0.9.1 tqdm/4.34.0 CPython/3.6.7

File hashes

Hashes for githubot-0.7.0.tar.gz
Algorithm Hash digest
SHA256 1f2f7265bec38c58ff1eb526f7970bb9cab1f4e273c8a9facc540c5146d327ad
MD5 f825d245378056fd38233f8164d23554
BLAKE2b-256 8ca0d11b179d187e22e854b1cffac0fc17e8cc9056869cc6990b82db14743b77

See more details on using hashes here.

File details

Details for the file githubot-0.7.0-py3-none-any.whl.

File metadata

  • Download URL: githubot-0.7.0-py3-none-any.whl
  • Upload date:
  • Size: 7.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/49.1.3 requests-toolbelt/0.9.1 tqdm/4.34.0 CPython/3.6.7

File hashes

Hashes for githubot-0.7.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3aab0cc9795fca3b1baf55b678c583d6aa056f6b6d7ec82a01004ea6dc7c9933
MD5 303b6eef336f23517748bbec8651bc7f
BLAKE2b-256 0392cb23fe07a1d5c9f1c24e3dccc2eca1528ea32100c4b883f831cbaf9f09a2

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page