GitHub Tools

A collection of tools around Git and GitHub to make developers’ lives easier.

gt-assign-pr

A simple helper to assign a given PR to as set of users from the CLI.

Usage

This tool requires the use of a token (see Using Tokens). By simply providing a owner, repository, pr_number and as many users as desired, you can assign the given PR to those users. By default, currently assigned users are kept, but they can be removed using the --clear-current flag.

Using Tokens

In order to provide for maximum flexibility, these tools are designed to work with GitHub Personal Access Tokens, which are needed for people using two-factor authentication or have access protected by SAML single sign on (SSO). GitHub provides instruction to obtain a token. The token can be provided to all commands either via the --token TOKEN flag, or by setting GH_TOKEN in your environment.

Custom GitHub URL

By default, this project works with https://github.com. In order to use an alternate URL, such as an enterprise install, you can provide the URL via an environment variable: GT_GH_URL.

pre-commit hooks

This repository also provides three hooks, documented below, that can be installed by hand or via pre-commit:

gt-commit-msg

Ensure that a commit message conforms to some best practices:

  1. Subject lines should not be longer than 50 characters

  2. Wrap the body at 72 characters

  3. Separate the subject from body with a blank line.

These are taken from A Note About Git Commit Messages.

gt-self-check

Can perform validations before making a commit. If an executable file named self-check.sh exists in the root of the repository and a Python, Ruby, or Gherkin file was changed, the checker is executed and the return status serves as a gate for the commit to occur. The check can be bypassed via git commit -n.

gt-prepare-commit-msg

Prepare a commit message by including an appropriate prefix, when possible, based on the branch name. If the branch name contains a JIRA ID, that is included in the prefix. If the branch name also contains either “FF” or “Spike”, that is appended to the prefix. If a branch name, without including a JIRA ID, contains “FF”, “Spike”, “Enhancement” or “Fix”, those phrases are set as the prefix. All searches are case-insensitive.

Beyond The Quick Start

github_tools - How To Use It - Module Documentation

For users of this package, the nitty gritty coding and configuration details.

Indices and tables