This page covers on-prem (self-hosted) setup. You create your own GitHub App
so webhook events and API traffic stay inside your infrastructure. For the
hosted SaaS integration, see GitHub via App or GitHub via
PAT.
Create the GPRA GitHub App
1
Open organization settings
Navigate to your organization’s app settings:Replace
<org> with your GitHub organization slug.2
Open GitHub Apps
Under Developer settings, select GitHub Apps.
3
Create a new app
Click New GitHub App and fill in the details below.
4
Set permissions
Under Repository permissions, grant:
Under Organization permissions, grant:
Under Account permissions, grant:
5
Subscribe to events
Under Subscribe to events, enable:
- Create (branch or tag created)
- Check run (check run is created, requested, rerequested, or completed)
- Deployment status (deployment status updated from the API)
- Issues
- Member
- Organization
- Issue comment
- Label
- Pull request
- Pull request review
- Pull request review thread
- Push
- Status
- Workflow job
- Workflow run
6
Create the app
Click Create GitHub App to finish creating the app.
7
Generate a private key
On the app’s settings page, scroll to Private keys and click
Generate a private key. GitHub downloads a
.pem file — store it securely.The On Windows (PowerShell):
.pem file content spans multiple lines, but GITHUB_PRIVATE_KEY must be
a single line. Replace every newline in the key with the literal characters
\n before setting the environment variable.On Linux/macOS:8
Generate a client secret
On the app’s General settings page, note the Client ID, then under
Client secrets click Generate a new client secret and copy the value.

