Skip to main content

GitHub entities made available as lazyload classes

Project description

gh-tt

This utility is desinged as a GitHub Command Line extension.

Install:

gh extension install thetechcollective/gh-tt

The extension requires that you have write access to projects too

Run gh tt -h to learn the syntax

The extension has three subcommands workon, wrapup and deliver.

usage: gh tt [-h] [-v] {workon,wrapup,deliver} ...

positional arguments:
  {workon,wrapup,deliver}
    workon              Set the issue number context to work on
    wrapup              Collapse dev branch into one commit, check or set the commit message
    deliver             Create the pull request for the current issue. Rebase and push the branch

options:
  -h, --help       show this help message and exit
  -v, --verbose    Enable verbose output

--help

You can always use the switch --help to learn details about a specific syntax

--verbose

You can always use the switch --verbose to have the extensions print out all underlying calls to the OS.

gh workon

workon takes an --issue switch. you can use if you want to work on a specific issue in the current repo

E.g. gh workon --issue 13

Or you can use the --title switch if you want to work on an issue that doesn't yet exist, you apply the title for the issue you want created.

e.g. gh workon --title "Some new issue"

usage: gh tt workon [-h] [-v] [-i ISSUE | -t TITLE]

options:
  -h, --help            show this help message and exit
  -v, --verbose         Enable verbose output
  -i ISSUE, --issue ISSUE
                        Issue number
  -t TITLE, --title TITLE
                        Title for the new issue

In either case you will end up on a development branch referencing the issue. If a branch already exist either locally or remote, you'll reuse that if not a new branch will be created on the issue.

Workon will set the Status in the GitHub Project to In Progress and the Start date to today.

gh wrapup

usage: gh tt wrapup [-h] [-v] 
options:
  -h, --help            show this help message and exit
  -v, --verbose         Enable verbose output

wrapup will collapse you current branch into just one commit, and make sure that the commit message contains one of the closing keywords (e.g. "resolves #") so the issue will be closed when the commit arrives at the default branch (main).

In order to deliver you should be aware that a rebase against the default branch (main) is also needed, but it's not included in the automated wrapup process, simply because this is potentially an operation that will change the content of your branch. For that reason you should take full responsibility of that process yourself. In other words make it a habit to run rebase before the wrapup:

git rebase main
gh tt wrapup

gh deliver

usage: gh tt deliver [-h] [-v] [--title TITLE]

options:
  -h, --help     show this help message and exit
  -v, --verbose  Enable verbose output
  --title TITLE  Title for the pull request - default is the issue title

deliver will try to rebase your branch and push it to origin if it succeeds it will create a pull request on the branch - if it doesnt exist already.

Feature request and discussions

The Issues are open on the repo: thetechcollective.gh-tt. If you experiencve any erros, misbekaviour or if you have feature requests, feel free to join the discussion.

Note

It's written in Python and runs in a pipenv so it doesn't leave any footprint or alterization to your own, current Python setup. All requirements besides python3 are managed independenly by the script itself.

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

ghobjects-0.0.3.dev5.tar.gz (30.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ghobjects-0.0.3.dev5-py3-none-any.whl (26.3 kB view details)

Uploaded Python 3

File details

Details for the file ghobjects-0.0.3.dev5.tar.gz.

File metadata

  • Download URL: ghobjects-0.0.3.dev5.tar.gz
  • Upload date:
  • Size: 30.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.6.10

File hashes

Hashes for ghobjects-0.0.3.dev5.tar.gz
Algorithm Hash digest
SHA256 707fe34e03591cf5342f944d690be0c3119250c2631d61964d236577aa012e9a
MD5 e956ad2fe55627153e330f057f024196
BLAKE2b-256 4287cd6dc47816fc8d7ed1e07dc09c5a796f028f77eea222ce3ae2af3e70509f

See more details on using hashes here.

File details

Details for the file ghobjects-0.0.3.dev5-py3-none-any.whl.

File metadata

File hashes

Hashes for ghobjects-0.0.3.dev5-py3-none-any.whl
Algorithm Hash digest
SHA256 b207f915277e780962b09374edcadee4b766b98df2c62e7fecffe10fcef532ad
MD5 86190516311049a9db01ce8cde4c74cd
BLAKE2b-256 aa77ba0153c1aa53e172cf711561c6dd31bfc1b5e690e8630637a2b021faa022

See more details on using hashes here.

Supported by

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