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
| Action | Permission |
|---|---|
| View namespaces | iam:project:cicd:namespaces:read |
| Create namespaces | iam:project:cicd:namespaces:write |
| Edit namespaces | iam:project:cicd:namespaces:write |
| Clone namespaces | iam:project:cicd:namespaces:write |
| Delete namespaces | iam:project:cicd:namespaces:delete |
Namespace Naming Rules
| Rule | Requirement |
|---|---|
| Length | 1-100 characters |
| Characters | Letters (a-z, A-Z), numbers (0-9), hyphens (-), underscores (_) |
| Spaces | Not allowed |
| Special Characters | Not allowed (except hyphen and underscore) |
How to Create a Namespace
Enter Name
Provide a unique name following the naming rules (e.g.,
production, team-backend, app-payments).Add Description (Optional)
Enter a description to help identify the namespace purpose (max 500 characters).
How to Edit a Namespace
How to Clone a Namespace
Cloning creates a copy of a namespace including all its variables.Cloning copies all namespace variables. This is useful for setting up new environments with similar configuration.
How to Delete a Namespace
How to Manage Namespace Variables
Click on a namespace row to navigate to its variables page.Adding Variables
Editing Variables
JSON Editing Mode
For bulk editing or importing variables:Deleting Variables
Variable Types
| Type | Description | Use Case |
|---|---|---|
| Text | Simple string value | API keys, URLs, simple configuration |
| JSON | Structured JSON object or array | Complex 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
Team-Based Namespaces
Application-Based Namespaces
Troubleshooting
Cannot create namespace
Cannot create namespace
- You need write permission
- Name may already exist
- Name contains invalid characters
- Name exceeds 100 characters
Variables not appearing in pipeline
Variables not appearing in pipeline
- 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
JSON validation error
JSON validation error
- 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
Cannot delete namespace
Cannot delete namespace
- You need delete permission
- Check if projects are still using this namespace
- Try refreshing the page
Clone failed
Clone failed
- You need write permission
- The source namespace may have been deleted
- Try refreshing and cloning again
Variables not saving
Variables not saving
- Click Save Changes after editing
- Check for validation errors in JSON mode
- Ensure you have write permission
- Try refreshing and editing again
FAQ
Can a project belong to multiple namespaces?
Can a project belong to multiple namespaces?
No. Each project belongs to one namespace. Use project-level variables for project-specific configuration and namespace variables for shared configuration.
Are namespace variables available in all stages?
Are namespace variables available in all stages?
Yes. Namespace variables are available in all pipeline stages (build, test, deploy) for projects within that namespace.
How do I override a namespace variable in a project?
How do I override a namespace variable in a project?
Define a variable with the same key at the project level. Project-level variables take precedence over namespace-level variables.
Can I use namespace variables in other namespaces?
Can I use namespace variables in other namespaces?
No. Namespace variables are scoped to that namespace only. Use clone to copy variables to another namespace, then modify as needed.
Are variables encrypted at rest?
Are variables encrypted at rest?
Yes. All variables are encrypted in the database. Values are masked in the UI by default for security.
What happens to variables when I clone a namespace?
What happens to variables when I clone a namespace?
All variables are copied to the new namespace with identical keys and values. Changes to one namespace don’t affect the other.
Can I import/export namespace variables?
Can I import/export namespace variables?
Use JSON mode to copy variables as JSON. Paste the JSON into another namespace’s JSON editor to import.
What's the variable key naming convention?
What's the variable key naming convention?
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