5. Enable Pull Assigner (optional)

Pull Assigner requires an additional GitHub App. The steps are similar to creating the Pull Reminders GitHub App.

1. In your GitHub instance, go to "Settings", then "Developer Settings", then "GitHub Apps", then click "New GitHub App".

2. Set the fields and permissions outlined below. Pull Assigner requires pull request write permissions in order to assign reviewers. No webhook subscriptions are required.

Fields:

GitHub App name: Pull Assigner
Webhook URL: http://pullreminders.myco.com/github_webhooks

Permissions:

Repository metadata: Read-only
Pull requests: Read & write
Organization members: Read-only

3. After saving your GitHub App, set your app icon to our provided image and then generate a private key. You should also see OAuth credentials and your app ID. You'll use this information along with your private key in a moment.

4. Go to the "Advanced" tab and click the "Make public" button at the bottom. This allows Pull Assigner to be used and installed by all users of your GitHub Enterprise instance.

5. Though not required, it is recommended that you transfer ownership of the GitHub App to a superuser or organization so that the app isn't deleted if your individual GitHub account is deactivated. To do this, go under the "Advanced" tab and click the "Transfer ownership" button at the bottom.

6. Add the following environment variables to your dockerenv file, with values set based on your GitHub App.

ASSIGNER_GITHUB_APP_ID=
ASSIGNER_GITHUB_APP_URL=
ASSIGNER_GITHUB_PRIVATE_KEY=

Due to limitations in Docker's parsing of multi-line environment variables, you need to replace all newlines in ASSIGNER_GITHUB_PRIVATE_KEY with \n so it is a single line like this:

ASSIGNER_GITHUB_PRIVATE_KEY="-----BEGIN RSA PRIVATE KEY-----\nMIIEogIBA...

6. Restart the container with your updated dockerenv file:

docker run --rm -p 80:3000 --env-file ./dockerenv -d pullreminders