Before you begin
- Before running the
set-contextcommand, ensure that you have installed the Neon CLI. - If you have not authenticated with the neon auth command, running a Neon CLI command automatically launches the Neon CLI browser authentication process. Alternatively, you can specify a Neon API key using the
--api-keyoption when running a command. See Connect.
The set-context command
This command sets a background context for your CLI sessions, letting you perform project or branch-specific actions without having to specify the project id in every command. Using the context-file parameter, you can save the context to a file of your choice. If you don't specify a file, a default .neon file is saved to the current directory. You can switch contexts by providing different files.
The context remains in place until you reset to a new context or remove the context-file.
Usage
set-context (hidden file)
neon set-context [option]set-context to context-file
neon set-context [option] --context-file <your_context_file>set-context during project creation
You can also set context for a new project during project creation.
neon projects create --name <project_name> --set-context <your_context_file>Options
The set-context command requires you set at least one of these options:
| Option | Description | Type | Required |
|---|---|---|---|
--project-id | Project ID | string | Sets the identified project as the context until you reset or remove context-file |
--org-id | Organization ID | string | Sets the organization context, which allows you to perform actions in the context of an organization |
--context-file | Path and file name | string | Creates a file that holds organization-id, project-id, and branch context |
Global options are also supported.
Examples of setting and using a context
Here are some examples of setting contexts to specific projects, then using them in an example command.
Using the default file
Set the context to the default .neon file:
neon set-context --project-id patient-frost-50125040 --org-id org-bright-sky-12345678List all branches for this project using branches list. There's no need to include --project-id or --org-id, even if you belong to multiple organizations or have multiple projects:
neon branches listThe results show details for all branches in the patient-frost-50125040 project within the org-bright-sky-12345678 organization:
┌──────────────────────────┬─────────────┬─────────┬──────────────────────┬──────────────────────┐
│ Id │ Name │ Default │ Created At │ Updated At │
├──────────────────────────┼─────────────┼─────────┼──────────────────────┼──────────────────────┤
│ br-raspy-meadow-26349337 │ development │ false │ 2023-11-28T19:19:11Z │ 2023-12-01T00:18:21Z │
├──────────────────────────┼─────────────┼─────────┼──────────────────────┼──────────────────────┤
│ br-curly-bar-82389180 │ main │ true │ 2023-10-23T12:49:41Z │ 2023-12-01T00:18:21Z │
└──────────────────────────┴─────────────┴─────────┴──────────────────────┴──────────────────────┘Using a named context-file
Set the context to the context-file of your choice:
neon set-context --project-id plain-waterfall-84865553 --context-file Documents/MyContextList all branches using the branches list command. No need to specify the project since the context file provides it.
neon branches list --context-file Documents/MyContextThe results show details for all branches in the plain-waterfall-84865553 project:
┌─────────────────────────────┬─────────────┬─────────┬──────────────────────┬──────────────────────┐
│ Id │ Name │ Default │ Created At │ Updated At │
├─────────────────────────────┼─────────────┼─────────┼──────────────────────┼──────────────────────┤
│ br-soft-base-86343042 │ development │ false │ 2023-11-21T18:41:47Z │ 2023-12-01T00:00:14Z │
├─────────────────────────────┼─────────────┼─────────┼──────────────────────┼──────────────────────┤
│ br-young-bush-89857627 │ main │ true │ 2023-11-21T18:00:10Z │ 2023-12-01T03:33:53Z │
├─────────────────────────────┼─────────────┼─────────┼──────────────────────┼──────────────────────┤
│ br-billowing-union-41102466 │ staging │ false │ 2023-11-21T18:44:22Z │ 2023-12-01T08:32:40Z │
└─────────────────────────────┴─────────────┴─────────┴──────────────────────┴──────────────────────note
These two branches list commands demonstrate the use of different contexts in the same account. The default .neon context is set to patient-frost-50125040 while the named context-file is set to plain-waterfall-84865553. These contexts operate independently. You can set as many context-files as you'd like, using unique names or in different directories, depending on your needs.
Setting context when creating a new project
Let's say you want to create a new project called MyLatest. You can automatically set the project ID at the same time as you create the project.
neon projects create --name MyLatest --set-contextThis creates a hidden .neon file by default with the following context:
{
"projectId": "quiet-water-76237589"
}You can now use any command that would normally require an additional --project-id parameter and the command will default to this context.
note
Neon does not save any confidential information to the context file (for example, auth tokens). You can safely commit this file to your repository or share with others.