Connect GitHub

A GitHub connection lets Game Designer read the merged pull requests of a repository, so a game's progress can be shown from what was actually merged. It reads only; nothing is written to GitHub. It can be your org's, or a project's. See Connections for how connecting works in general.

Ways to connect

GitHub is connected with Add a key only: a fine-grained personal access token. There is no OAuth app to make, because reading one repository needs none, and a token limited to that repository is the smallest grant there is. Make a token here.

Making the token

  1. Open the link above, signed in as an account that can read the repository.
  2. Name the token, and choose when it expires. A token stops working on its date, so pick one you will remember, and reconnect with a new token before then.
  3. Under Resource owner, choose the user or organization that owns the repository.
  4. Under Repository access, choose Only select repositories and pick the repositories your game's work lives in.
  5. Under Permissions, add Pull requests with Read-only access. That is the only permission needed. GitHub adds read access to a repository's metadata by itself.
  6. Generate the token, copy it, and paste it into Add a key on the Connections page. GitHub shows it once.

GitHub asks for no scopes of GreenMind: a token carries the permissions it was made with.

After connecting

On the project or game, Use a connection and give the repository as owner/name, exactly as GitHub writes it.

If it goes wrong

  • GitHub did not accept the token. The token expired, was deleted, or the organization that owns the repository requires approval of fine-grained tokens and has not approved it. Make a new one and reconnect.
  • The repository cannot be read. The token was not given that repository, or the Pull requests permission is missing. Edit the token on GitHub; the token itself does not change, so there is nothing to reconnect.
  • Organization repositories. If the repository belongs to an organization, an owner of it may have to allow fine-grained tokens to reach it.