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.2.dev4.tar.gz (30.6 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.2.dev4-py3-none-any.whl (26.3 kB view details)

Uploaded Python 3

File details

Details for the file ghobjects-0.0.2.dev4.tar.gz.

File metadata

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

File hashes

Hashes for ghobjects-0.0.2.dev4.tar.gz
Algorithm Hash digest
SHA256 61106f14508775df4da9485b8c1d1db8daba6187658c32513760f751667468a4
MD5 8d680a65b6abf97189e05ffa1400ab6a
BLAKE2b-256 0eb73d9b0ae4728090a2a4ee5bc7c5cb3dadca320fcae7b71fbe075e27470265

See more details on using hashes here.

File details

Details for the file ghobjects-0.0.2.dev4-py3-none-any.whl.

File metadata

File hashes

Hashes for ghobjects-0.0.2.dev4-py3-none-any.whl
Algorithm Hash digest
SHA256 bc7b1b4d033582bf720f6e98165fab887b25c54b094afc195a954818545ed73f
MD5 1148558864495a1e342ee85e3aac97a9
BLAKE2b-256 92156fe3dae265782318bdb4512dac9a80c34e46d63e7e64a520ce6268ae3c05

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