GitHub Setup
Veckl uses GitHub in two different ways:
- A GitHub App reads and writes test case files in the configured repository.
- A GitHub OAuth App signs users in through the browser.
You can use GitHub.com or GitHub Enterprise Server.
Create the Test Case Repository
Section titled “Create the Test Case Repository”Create or choose the repository that will store Veckl data. It can be empty; Veckl can initialize the required files during first run.
The GitHub App installation must have access to this repository.
Create a GitHub App
Section titled “Create a GitHub App”Create a GitHub App for repository access.
Recommended repository permissions:
- Contents: read and write.
- Metadata: read.
After creating the app:
- Record the App ID.
- Generate and download a private key.
- Install the app on the test case repository.
- Record the installation ID.
Set these values in .env:
GITHUB_APP_ID=<your-github-app-id>GITHUB_APP_INSTALLATION_ID=<your-installation-id>GITHUB_APP_PRIVATE_KEY_PATH=/app/key.pemGITHUB_OWNER=<your-org-or-username>GITHUB_REPO=<your-repo-name>GITHUB_BRANCH=mainFor local development, either place the private key where GITHUB_APP_PRIVATE_KEY_PATH points or update the path to match your local file location.
Create an OAuth App
Section titled “Create an OAuth App”Create a GitHub OAuth App for sign-in.
For local development, use this callback URL:
http://localhost:3000/auth/github/callbackFor a production deployment, use the public application origin:
https://<your-veckl-host>/auth/github/callbackSet the OAuth values in .env:
GITHUB_OAUTH_CLIENT_ID=<your-oauth-client-id>GITHUB_OAUTH_CLIENT_SECRET=<your-oauth-client-secret>GitHub Enterprise Server
Section titled “GitHub Enterprise Server”For GHES, set the API base URL:
GITHUB_API_BASE_URL=https://<ghes-host>/api/v3If your GHES instance uses a private certificate authority, provide a CA bundle and set:
GITHUB_CA_BUNDLE_PATH=/app/ca-bundle.crtVerify Access
Section titled “Verify Access”Run:
./scripts/verify-env.sh .envmake devThen open http://localhost:3000 and sign in with GitHub. If the repository is reachable, the top bar shows the configured owner, repository, and branch.