Skip to main content
Namespaces provide logical grouping for pipeline projects and shared variables. Use namespaces to organize projects by team, environment, or application, and to share configuration across multiple pipelines.

Key Concepts

Namespace

A logical container for organizing related projects and sharing variables across pipelines.

Variables

Key-value pairs defined at the namespace level. Available to all pipelines within the namespace.

Cloning

Create a copy of a namespace including all its variables for quick setup.

Scope

Variables can be scoped to namespace (group) level, accessible by all projects in that namespace.

Required Permissions

ActionPermission
View namespacesiam:project:cicd:namespaces:read
Create namespacesiam:project:cicd:namespaces:write
Edit namespacesiam:project:cicd:namespaces:write
Clone namespacesiam:project:cicd:namespaces:write
Delete namespacesiam:project:cicd:namespaces:delete

Namespace Naming Rules

RuleRequirement
Length1-100 characters
CharactersLetters (a-z, A-Z), numbers (0-9), hyphens (-), underscores (_)
SpacesNot allowed
Special CharactersNot allowed (except hyphen and underscore)

How to Create a Namespace

1

Click Add Namespace

Click the Add Namespace button in the header.
2

Enter Name

Provide a unique name following the naming rules (e.g., production, team-backend, app-payments).
3

Add Description (Optional)

Enter a description to help identify the namespace purpose (max 500 characters).
4

Create

Click Create Namespace to save.
Use consistent naming conventions like {environment}, {team}-{app}, or {project}-{env} for easier organization.

How to Edit a Namespace

1

Find the Namespace

Locate the namespace in the list using search.
2

Click Edit

Click the edit (pencil) icon on the namespace row.
3

Modify Settings

Update the name or description as needed.
4

Save

Click Save Changes to apply updates.

How to Clone a Namespace

Cloning creates a copy of a namespace including all its variables.
1

Find the Namespace

Locate the namespace you want to clone.
2

Click Clone

Click the clone (copy) icon on the namespace row.
3

Review

The new namespace is created with the name ” (Clone)”.
4

Rename (Recommended)

Edit the cloned namespace to give it a meaningful name.
Cloning copies all namespace variables. This is useful for setting up new environments with similar configuration.

How to Delete a Namespace

1

Find the Namespace

Locate the namespace you want to delete.
2

Click Delete

Click the delete (trash) icon on the namespace row.
3

Confirm

Confirm the deletion. This action cannot be undone.
Deleting a namespace removes all associated variables. Projects using this namespace’s variables may fail.

How to Manage Namespace Variables

Click on a namespace row to navigate to its variables page.

Adding Variables

1

Click Add Variable

Click the Add Variable button.
2

Enter Key

Provide a unique variable key (e.g., DATABASE_URL, API_KEY).
3

Enter Value

Enter the variable value. Toggle JSON switch for structured data.
4

Save

Click Save Changes to persist all variables.

Editing Variables

1

Locate Variable

Find the variable in the list or use search.
2

Show Value

Click the eye icon to reveal hidden values.
3

Modify

Update the key or value directly in the input fields.
4

Save

Click Save Changes to apply updates.

JSON Editing Mode

For bulk editing or importing variables:
1

Toggle JSON Mode

Click the braces icon to switch to JSON editing mode.
2

Edit JSON

Modify variables as a JSON object in the Monaco editor.
3

Save

Click Save JSON to apply all changes.
Use JSON mode to paste variables from another namespace or external source.

Deleting Variables

1

Find Variable

Locate the variable to delete.
2

Click Delete

Click the trash icon on the variable row.
3

Confirm

The variable is immediately removed.

Variable Types

TypeDescriptionUse Case
TextSimple string valueAPI keys, URLs, simple configuration
JSONStructured JSON object or arrayComplex configuration, nested settings
Toggle the JSON switch on a variable to enable JSON validation and syntax highlighting in the editor.

Common Use Cases

Environment-Based Namespaces

development
staging
production
Each environment has its own namespace with environment-specific variables.

Team-Based Namespaces

team-backend
team-frontend
team-platform
Variables shared across all projects owned by a team.

Application-Based Namespaces

payments-service
user-service
notification-service
Variables specific to each microservice or application.

Troubleshooting

  • You need write permission
  • Name may already exist
  • Name contains invalid characters
  • Name exceeds 100 characters
  • Verify the project is assigned to the correct namespace
  • Check that variables were saved
  • Ensure variable keys don’t have typos
  • Variables are case-sensitive
  • Check for missing commas between properties
  • Ensure all strings are wrapped in double quotes
  • Verify brackets and braces match
  • Use the JSON mode editor for syntax highlighting
  • You need delete permission
  • Check if projects are still using this namespace
  • Try refreshing the page
  • You need write permission
  • The source namespace may have been deleted
  • Try refreshing and cloning again
  • Click Save Changes after editing
  • Check for validation errors in JSON mode
  • Ensure you have write permission
  • Try refreshing and editing again

FAQ

No. Each project belongs to one namespace. Use project-level variables for project-specific configuration and namespace variables for shared configuration.
Yes. Namespace variables are available in all pipeline stages (build, test, deploy) for projects within that namespace.
Define a variable with the same key at the project level. Project-level variables take precedence over namespace-level variables.
No. Namespace variables are scoped to that namespace only. Use clone to copy variables to another namespace, then modify as needed.
Yes. All variables are encrypted in the database. Values are masked in the UI by default for security.
All variables are copied to the new namespace with identical keys and values. Changes to one namespace don’t affect the other.
Use JSON mode to copy variables as JSON. Paste the JSON into another namespace’s JSON editor to import.
Use UPPER_SNAKE_CASE for environment variables (e.g., DATABASE_URL, API_KEY). For JSON configuration, use camelCase or whatever your application expects.

Best Practices

Organization

  • Use consistent naming conventions across namespaces
  • Group related projects in the same namespace
  • Create separate namespaces for different environments
  • Document namespace purpose in the description field

Variables

  • Use descriptive variable keys
  • Don’t store secrets that should be in a secrets manager
  • Keep sensitive values hidden by default
  • Use JSON type for complex configuration
  • Review variables before cloning namespaces

Security

  • Limit namespace write access to authorized users
  • Regularly audit namespace variables
  • Use environment-specific values (never share production secrets with development)
  • Mask sensitive values when sharing screens

Maintenance

  • Remove unused namespaces to reduce clutter
  • Update descriptions when namespace purpose changes
  • Clone instead of recreating to save time
  • Use search to quickly find namespaces