An open API service indexing awesome lists of open source software.

https://github.com/hypothesis/gha-token

Get app installation access tokens from the GitHub API.
https://github.com/hypothesis/gha-token

Last synced: 11 months ago
JSON representation

Get app installation access tokens from the GitHub API.

Awesome Lists containing this project

README

          





# gha-token

Get app installation access tokens from the GitHub API.

```console
$ gha-token --app-id 123456 --installation-id 123456789 --private-key $PRIVATE_KEY
ghs_xyz***
```

`--app-id` is the App ID of your GitHub app.

`--installation-id` is the ID of an installation of your GitHub app.

`--private-key` is a private key belonging to your GitHub app.

Use an environment variable for `--private-key` to avoid revealing your app's private key.

## Installing

We recommend using [pipx](https://pypa.github.io/pipx/) to install
gha-token.
First [install pipx](https://pypa.github.io/pipx/#install-pipx) then run:

```terminal
pipx install git+https://github.com/hypothesis/gha-token.git
```

You now have gha-token installed! For some help run:

```
gha-token --help
```

## Upgrading

To upgrade to the latest version run:

```terminal
pipx upgrade gha-token
```

To see what version you have run:

```terminal
gha-token --version
```

## Uninstalling

To uninstall run:

```
pipx uninstall gha-token
```

## Setting up Your gha-token Development Environment

First you'll need to install:

* [Git](https://git-scm.com/).
On Ubuntu: `sudo apt install git`, on macOS: `brew install git`.
* [GNU Make](https://www.gnu.org/software/make/).
This is probably already installed, run `make --version` to check.
* [pyenv](https://github.com/pyenv/pyenv).
Follow the instructions in pyenv's README to install it.
The **Homebrew** method works best on macOS.
The **Basic GitHub Checkout** method works best on Ubuntu.
You _don't_ need to set up pyenv's shell integration ("shims"), you can
[use pyenv without shims](https://github.com/pyenv/pyenv#using-pyenv-without-shims).

Then to set up your development environment:

```terminal
git clone https://github.com/hypothesis/gha-token.git
cd gha-token
make help
```

## Changing the Project's Python Versions

To change what versions of Python the project uses:

1. Change the Python versions in the
[cookiecutter.json](.cookiecutter/cookiecutter.json) file. For example:

```json
"python_versions": "3.10.4, 3.9.12",
```

2. Re-run the cookiecutter template:

```terminal
make template
```

3. Commit everything to git and send a pull request

## Changing the Project's Python Dependencies

To change the production dependencies in the `setup.cfg` file:

1. Change the dependencies in the [`.cookiecutter/includes/setuptools/install_requires`](.cookiecutter/includes/setuptools/install_requires) file.
If this file doesn't exist yet create it and add some dependencies to it.
For example:

```
pyramid
sqlalchemy
celery
```

2. Re-run the cookiecutter template:

```terminal
make template
```

3. Commit everything to git and send a pull request

To change the project's formatting, linting and test dependencies:

1. Change the dependencies in the [`.cookiecutter/includes/tox/deps`](.cookiecutter/includes/tox/deps) file.
If this file doesn't exist yet create it and add some dependencies to it.
Use tox's [factor-conditional settings](https://tox.wiki/en/latest/config.html#factors-and-factor-conditional-settings)
to limit which environment(s) each dependency is used in.
For example:

```
lint: flake8,
format: autopep8,
lint,tests: pytest-faker,
```

2. Re-run the cookiecutter template:

```terminal
make template
```

3. Commit everything to git and send a pull request