gh variable set

gh variable set <variable-name> [flags]

Set a value for a variable on one of the following levels:

  • repository (default): available to GitHub Actions runs or Dependabot in a repository
  • environment: available to GitHub Actions runs for a deployment environment in a repository
  • organization: available to GitHub Actions runs or Dependabot within an organization

Organization variable can optionally be restricted to only be available to specific repositories.

Options

-b, --body <string>
The value for the variable (reads from standard input if not specified)
-e, --env <environment>
Set deployment environment variable
-f, --env-file <file>
Load variable names and values from a dotenv-formatted file
-o, --org <organization>
Set organization variable
-r, --repos <repositories>
List of repositories that can access an organization variable
-v, --visibility <string> (default "private")
Set visibility for an organization variable: {all|private|selected}

Options inherited from parent commands

-R, --repo <[HOST/]OWNER/REPO>
Select another repository using the [HOST/]OWNER/REPO format

Examples

# Add variable value for the current repository in an interactive prompt
$ gh variable set MYVARIABLE

# Read variable value from an environment variable
$ gh variable set MYVARIABLE --body "$ENV_VALUE"

# Read variable value from a file
$ gh variable set MYVARIABLE < myfile.txt

# Set variable for a deployment environment in the current repository
$ gh variable set MYVARIABLE --env myenvironment

# Set organization-level variable visible to both public and private repositories
$ gh variable set MYVARIABLE --org myOrg --visibility all

# Set organization-level variable visible to specific repositories
$ gh variable set MYVARIABLE --org myOrg --repos repo1,repo2,repo3

# Set multiple variables imported from the ".env" file
$ gh variable set -f .env

See also