GitHub Integration
The GitHub integration lets you sync environment variables from EnvManager to GitHub Actions configuration.
You can sync to:
- Repository level (available to all workflows in one repository)
- GitHub Environment level (for workflows using specific GitHub environments)
- Organization level (shared configuration across repositories)
Before You Begin
Make sure you have:
- A connected GitHub App installation in EnvManager
- Access to the target repository, environment, or organization in GitHub
- A project in EnvManager with at least one environment configured
EnvManager is push-only for integrations. It writes values to GitHub, but does not pull values back from GitHub.
Connect GitHub
Open Integrations
Go to your project and open Integrations.
Connect GitHub
Find the GitHub card and click Connect.
Install or Select the GitHub App
Complete the GitHub App installation/authorization flow. After returning to EnvManager, the integration should show as enabled.
Configure GitHub Sync
After connecting GitHub, click Configure.
1. Select the Target Level
Choose how each EnvManager environment should sync:
- Repository Secrets/Variables
- Environment Secrets/Variables
- Organization Secrets/Variables
2. Map EnvManager Environments
For each EnvManager environment (for example Development, Staging, Production), define the GitHub target configuration.
3. Choose Sync Options
Use these options in the GitHub configuration modal:
| Option | Description |
|---|---|
| Auto-sync | Automatically sync after variable changes |
| Sync secrets | Include variables marked as secret |
| Sync regular variables | Include non-secret variables |
| Sync mode | Sync all variables or only selected variables |
| GitHub storage mode | Keep regular variables as GitHub variables, or store all values as GitHub secrets |
GitHub Storage Mode
GitHub storage mode controls how regular (non-secret) EnvManager variables are written to GitHub:
- Preserve variable types: regular variables stay GitHub variables, secrets stay GitHub secrets
- Store everything as GitHub secrets: both regular variables and secrets are written as GitHub secrets
When you switch storage mode, EnvManager also cleans up the opposite type in GitHub for the same key to avoid duplicate entries.
4. Save Configuration
Click Save Configuration. The selected options are persisted and reused when you reopen the modal.
Syncing to GitHub
Manual Sync
Use Sync Now to push immediately.
Auto-Sync
When enabled, EnvManager queues sync jobs after variable updates and applies them automatically.
Sync Status and History
Sync results are reported per run with one of these statuses:
- Success: all selected values synced
- Partial: some values synced, some failed
- Failed: no values synced successfully
Use sync history to inspect timestamps, counts, and error details.
Troubleshooting
Variables Not Appearing in GitHub
Check:
- Target level and repository/environment/org selection
- Sync secrets / Sync regular variables toggles
- Sync mode (all vs selected)
- GitHub storage mode
Partial Sync Results
Partial results usually indicate one or more keys failed while others succeeded. Open sync history and review the error message per key.
Permission Errors
If GitHub rejects writes:
- Verify the GitHub App installation still has access
- Verify the selected repository/environment still exists
- Reconnect if installation permissions changed
Security Notes
- Secret values are encrypted before being sent to GitHub secret endpoints
- Sync execution happens server-side through Edge Functions
- Sync activity is logged for audit and troubleshooting
Related Topics
Integrations Overview
Understand how platform integrations work in EnvManager.
Variables Overview
Manage regular variables and secrets in EnvManager.
Roles & Permissions
Learn who can configure integrations and trigger syncs.