GitHub Integration
Create a GitHub App
To configure the GitHub integration you'll need to create a GitHub app and obtain credentials.
The GitHub App name must not contain any spaces.
Start by following GitHub's official guide on creating a GitHub App.
If the form above does not work for you, you need the following settings for your GitHub Application. You'll need to come up with come up with your own webhook secret:
Setting | Value |
---|---|
Homepage URL | ${url-prefix} |
User authorization callback URL | ${url-prefix}/auth/sso/ |
Setup URL (optional) | ${url-prefix}/extensions/github/setup/ |
Webhook URL | ${url-prefix}/extensions/github/webhook/ |
Webhook secret | "my-super-secret-example-secret" |
When prompted for permissions, choose the following:
Permission | Setting |
---|---|
Repository / Administration | Read-only |
Repository / Contents | Read-only |
Organization permissions / members (optional) | Read-only |
Account permissions / Email addresses (optional) | Read-only |
Repository / Issues | Read & write |
Repository / Pull requests | Read & write |
Repository / Webhooks | Read & write |
When prompted to subscribe to events, choose the following:
- Pull Request
- Push
Trick
Enabling optional permissions will also enable the GitHub SSO for your instance.
You'll be given various credentials, configure them in config.yml
:
Copied
# App ID
github-app.id: GITHUB_APP_ID
# App Name
github-app.name: "GITHUB_APP_NAME"
# Client ID
github-app.client-id: "GITHUB_CLIENT_ID"
# Client Secret
github-app.client-secret: "GITHUB_CLIENT_SECRET"
# Webhook Secret
github-app.webhook-secret: "my-super-secret-example-secret"
Last, generate and download the private key, and add it to your configuration for your app:
Copied
github-app.private-key: |
-----BEGIN RSA PRIVATE KEY-----
privatekeyprivatekeyprivatekeyprivatekey
privatekeyprivatekeyprivatekeyprivatekey
privatekeyprivatekeyprivatekeyprivatekey
privatekeyprivatekeyprivatekeyprivatekey
privatekeyprivatekeyprivatekeyprivatekey
-----END RSA PRIVATE KEY-----
You can edit this page on GitHub.