/gamf

gamf implements the GitHub App Manifest Flow, so that you don't have to.

Primary LanguageGoMIT LicenseMIT

gamf - GitHub App Manifest Flow

This application enables you to programmatically generate GitHub Apps by implementing the GitHub App Manifest Flow, so that you don't have to.

A hosted version is available at https://gamf.svc.bissy.io

Endpoints

POST /start

Request

This endpoint initiates an app creation flow. You must provide it with the following keys, encoded as JSON:

manifest - A JSON object, acceptable by GitHub's manifest flow. docs

target_type - The account type that this GitHub App should be created on (user, org).

target_slug - The account slug to create this GitHub App on.

host - The GitHub instance to use (usually github.com).

Response

A JSON object containing the following keys will be returned

url - The URL to point your browser to, this will initiate the browser flow. docs

key - A unique one-time key that you will use at the end of this flow to retrieve the GitHub app information.

POST /code/:key

This endpoint returns to you the GitHub provided code to be exchanged for the app configuration. docs

Request

You must provide the following value as a URL parameter:

key - The key provided to you as part of the POST /start call.

Response

A JSON object containing the following keys will be returned:

code - The GitHub App Manifest code, to be used to retrieve you new app configuration.