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:

OptionDescription
Auto-syncAutomatically sync after variable changes
Sync secretsInclude variables marked as secret
Sync regular variablesInclude non-secret variables
Sync modeSync all variables or only selected variables
GitHub storage modeKeep 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

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.

Get DevOps tips in your inbox

Security best practices and product updates. No spam.

No spam. Unsubscribe anytime.