Qyra

Configure a Github integration for self-hosted Qyra

Create a GitHub app and wire its credentials into your instance so Qyra can write to dbt repos

🛠 This page is for engineering teams self-hosting their own Qyra instance. If you want to use the GitHub integration, go to the dbt projects guide.

In this guide we will show you how you can enable the Github integration on your on self-hosted Qyra server.

Create a new Github app

Go to app settings in Github, either organization or account developer settings and click New Github App

Github Create App Pn

Settings:

  1. Set the app name: must be unique across Github

  2. Add a description

  3. Homepage URL: e.g. https://qyraflow.com

  4. Callback URL: https://<your-domain>/api/v1/github/oauth/callback

  5. Enable Expire user authorization tokens

  6. Enable Request user authorization (OAuth) during installation

    Github Oauth Refresh Token Pn

  7. Enable **Redirect on update **on Post Installation

  8. Deactivate webhooks

    Github Deactivate Webhooks Pn

Repository Permissions:

  • Checks: Read and write
  • Contents: Read and write
  • Pull requests: Read and write
  • Workflows (optional): Read and write

Account Permissions: None

Where can this GitHub App be installed? Any account

Generate Certificate and Secret

After creating your Github account you will need to generate a Client Secret.

Copy it and keep it safe, this will get used for the GITHUB_CLIENT_SECRET environment variable.

Github Generate Client Secret Pn

And a Private Key.

Convert the contents of the private key file into base64 , this will get used for the GITHUB_PRIVATE_KEY environment variable.

Github Generate Private Key Pn

You should save both the Client Secret and the Private Key in a safe place as you might need them at a later time.

Adding credentials to your local environment

Now you need to add the following environment variables to your Qyra server.

  • GITHUB_PRIVATE_KEY : This is the base64 string of the Private Key generated for your Github app
  • GITHUB_CLIENT_SECRET : This is the client secret generated for your Github app
  • GITHUB_CLIENT_ID: Copy this from your Github app settings > General
  • GITHUB_APP_ID: Copy this from your Github app settings > General
  • GITHUB_APP_NAME: This is the name you set for your app, you can find it in app settings.