Environments
Comprehensive reference for the environment configuration UI in Qualflare. Environments define the target systems where tests are executed.
Environment List View
The environment list view displays all configured environments in a project, providing quick access to configuration and status information.
Columns
| Column | Description |
|---|---|
| Environment Name | Name of the environment (user-defined) |
| Type | Environment type with color-coded badge |
| Base URL | Base URL for the target system |
| Status | Active or Inactive indicator |
| Default | Star icon indicates default environment |
| Variables | Count of configured variables |
| Last Used | Timestamp of most recent test execution |
| Actions | Quick action buttons (edit, set default, delete) |
Environment Types
| Type | Visual | Purpose |
|---|---|---|
| Development | Blue badge | Local development servers |
| Staging | Yellow badge | Pre-production testing environment |
| Production | Red badge | Live production environment |
| Custom | Gray badge | User-defined environment types |
Status Indicators
| Status | Visual | Meaning |
|---|---|---|
| Active | Green dot | Environment is available for test execution |
| Inactive | Gray dot | Environment is disabled and cannot be used |
Default Environment Indicator
- Star Icon: (⭐) displayed next to the default environment name
- Behavior: Default environment is pre-selected when creating new launches
- Selection: Only one environment can be default at a time
- Auto-set: First created environment is automatically set as default
Sorting
- Default: Environment name (alphabetical)
- Available sort options: Name, type, last used, variable count
- Type grouping: Environments group by type when sorted by type
Filtering
| Filter | Options |
|---|---|
| Type | Development, Staging, Production, Custom |
| Status | Active, Inactive, All |
| Default | Default only, Non-default only |
Environment Detail View
Click any environment in the list to view its complete configuration and variables.
Header Section
Environment Information
- Environment Name: User-defined name
- Environment ID: Unique identifier (e.g., "ENV-5678")
- Type Badge: Environment type with color coding
- Status Indicator: Active/Inactive with toggle
- Default Badge: Shown if this is the default environment
- Created: Creation timestamp
- Last Modified: Last configuration change timestamp
- Last Used: Most recent test execution timestamp
Quick Actions
| Action | Description |
|---|---|
| Set as Default | Make this environment the default for new launches |
| Activate/Deactivate | Toggle environment availability |
| Edit | Open environment configuration editor |
| Clone | Create a copy of this environment |
| Delete | Remove the environment (requires confirmation) |
Configuration Section
Basic Settings
| Field | Description |
|---|---|
| Name | Environment name (required, unique within project) |
| Type | Environment type (Development, Staging, Production, Custom) |
| Base URL | Root URL for the target system (required) |
| Description | Optional notes about this environment |
Base URL Configuration
Format Requirements:
- Must include protocol (http:// or https://)
- Should not include trailing slash
- Supports port numbers (e.g., https://api.example.com:8080)
- Supports subdomains and paths (e.g., https://staging-api.example.com/v2)
Examples:
- Development:
http://localhost:3000 - Staging:
https://staging.example.com - Production:
https://api.example.com - Custom:
https://ci-build-123.example.org
Variables Section
Environment variables define key-value pairs that are available to tests during execution. Variables support secrets masking and hierarchical overrides.
Variable Management UI
Table Columns:
| Column | Description |
|---|---|
| Key | Variable name (case-sensitive, alphanumeric and underscore) |
| Value | Variable value (masked for secrets) |
| Type | Variable type (Plain, Secret, File) |
| Scope | Variable scope (Global, Environment-specific) |
| Enabled | Toggle to enable/disable variable |
| Actions | Edit, delete, copy variable |
Variable Types
| Type | Visual | Behavior |
|---|---|---|
| Plain | No icon | Displayed in plain text, fully visible |
| Secret | Lock icon | Value masked with bullets (••••••) |
| File | File icon | Reference to uploaded file, shows filename |
Secret Variable Display
Masked State (Default):
- Display:
••••••••••••(bullets equal to value length) - Hover preview: Shows first and last character only
- Cannot be copied or viewed in detail
Reveal State (Click "Show"):
- Requires confirmation
- Shows plain text value for 30 seconds
- Auto-masks after timeout or when navigating away
- Logs reveal events for audit trail
Edit Secret:
- Click "Edit" to open secret editor
- Value field is password-type (hidden input)
- Show/Hide toggle available in editor
- Changes are saved immediately
Variable Scope and Override Behavior
Hierarchy:
- Global Variables (workspace-level): Available to all environments
- Environment Variables (environment-level): Override global variables
- Launch Variables (launch-level): Override environment variables
Override Rules:
- More specific scopes override less specific scopes
- Environment variables override global variables with the same key
- Launch variables override environment variables
- If no override exists, the global value is used
Example:
Global: API_URL = https://api.example.com
Staging: API_URL = https://staging-api.example.com (overrides global)
Production: API_URL = https://api.example.com (uses global, no override)Override Indicator:
- Variables that override global values show "Overrides global" badge
- Variables using global values show "Inherits from global" badge
- Click badge to view the global value being overridden
Headers Section
Configure custom HTTP headers that are sent with all API requests during test execution.
Headers Management UI
Table Columns:
| Column | Description |
|---|---|
| Header Name | HTTP header name (case-insensitive) |
| Header Value | Header value (supports variable interpolation) |
| Enabled | Toggle to enable/disable header |
Common Headers
| Header | Typical Use |
|---|---|
Authorization | API keys, bearer tokens, authentication credentials |
Content-Type | Request content type (e.g., application/json) |
Accept | Expected response content type |
User-Agent | Client identification |
X-Custom-Header | Custom application-specific headers |
Variable Interpolation in Headers
Headers can reference environment variables using syntax:
Authorization: Bearer {{API_KEY}}
X-Environment: {{ENVIRONMENT_NAME}}
X-Request-Source: qualflare-testAuthentication Section
Configure authentication methods for the target environment.
Authentication Types
None:
- No authentication configured
- Tests run without auth headers
API Key:
- Header Name: Name of the header (e.g.,
X-API-Key) - API Key Value: The key value (stored as secret)
- Key Location: Header or Query parameter
Bearer Token:
- Token Value: JWT or OAuth bearer token (stored as secret)
- Token Prefix: Default is
Bearer, can be customized - Header Name: Default is
Authorization, can be customized
Basic Auth:
- Username: Authentication username (stored as plain)
- Password: Authentication password (stored as secret)
OAuth 2.0:
- Client ID: OAuth client identifier
- Client Secret: OAuth client secret (stored as secret)
- Token URL: Endpoint to obtain access token
- Scopes: OAuth permission scopes
Authentication Storage
All sensitive credentials (API keys, tokens, passwords) are stored as secret variables and are masked in the UI.
Create Environment UI
Create a new environment from scratch with all required configuration.
Steps
- Click New Environment button in the environment list
- Fill in the basic configuration:
- Environment Name (required)
- Type (required)
- Base URL (required)
- Description (optional)
- Configure variables (optional)
- Configure headers (optional)
- Configure authentication (optional)
- Click Create Environment
Field Validations
| Field | Validation Rules |
|---|---|
| Name | Required, unique within project, 3-50 characters, alphanumeric and spaces |
| Type | Required, must select one type |
| Base URL | Required, must be valid URL with http:// or https:// |
| Description | Optional, max 500 characters |
After Creation
- New environment is created as Active by default
- Not set as default unless it's the first environment
- Redirected to environment detail view
- Can immediately start adding variables and configuration
Edit Environment UI
Modify an existing environment's configuration.
Editing Modes
Quick Edit
- Accessible via: Edit button in environment list
- Scope: Name, type, base URL, description only
- Action: Inline editing with save/cancel buttons
Full Edit
- Accessible via: Edit button in environment detail view
- Scope: All configuration including variables, headers, authentication
- Action: Opens full configuration editor
Editable Fields
All fields are editable except:
- Environment ID: Cannot be changed (system-assigned)
- Created timestamp: Immutable
Variable Editing
Add Variable:
- Click Add Variable button
- Enter key name (required)
- Enter value (required)
- Select type (Plain, Secret, File)
- Click Save
Edit Variable:
- Click Edit icon on variable row
- Modify key or value
- Click Save
Delete Variable:
- Click Delete icon on variable row
- Confirm deletion
Bulk Variable Operations:
- Import Variables: Upload CSV or JSON file with variable definitions
- Export Variables: Download all variables as CSV or JSON
- Copy from Environment: Copy all variables from another environment
Header Editing
Add Header:
- Click Add Header button
- Enter header name (required)
- Enter header value (required)
- Click Save
Edit/Delete Header: Same workflow as variable editing
Authentication Editing
Change Auth Type:
- Click Edit in Authentication section
- Select new authentication type
- Enter required credentials
- Click Save
Remove Authentication:
- Click Edit in Authentication section
- Select None as authentication type
- Click Save
Save Behavior
- Auto-save: Changes to individual variables save immediately
- Manual save: Changes to name, type, base URL require clicking Save
- Cancel: Reverts unsaved changes to last saved state
Environment Actions
Set as Default
Make an environment the default selection for new launches.
- Click the Set as Default button in environment detail view
- Or click the star icon in the environment list view
Behavior:
- Previous default environment loses default status
- New default environment is immediately active
- New launches pre-select this environment
- Existing launches are not affected
Activate/Deactivate
Toggle environment availability for test execution.
- Click the Activate/Deactivate toggle in environment detail view
- Or use the status toggle in the environment list view
Deactivate Behavior:
- Environment cannot be selected for new launches
- Existing launches using this environment are not affected
- Running tests continue to completion
- Variables and values remain accessible
Activate Behavior:
- Environment becomes available for selection
- All previous configuration intact
- Can immediately be used for new launches
Use Cases:
- Temporarily disable staging during maintenance
- Deactivate production environments not in use
- Activate environments only when needed for security
Clone Environment
Create a copy of an existing environment with all its configuration.
- Click Clone button in environment detail view
- Edit the cloned environment:
- Name: Required, must be unique (defaults to "Original Name - Copy")
- Base URL: Can be modified
- Variables: All copied, can be edited
- Headers: All copied, can be edited
- Authentication: Copied, credentials not included (must re-enter)
- Click Create Cloned Environment
Clone Behavior:
- Creates new environment with unique ID
- Copies all variables (secrets show as masked, must re-enter values)
- Copies all headers
- Copies authentication configuration (not credentials)
- Not set as default (even if original was default)
- Created as Active
Use Cases:
- Create new staging environment from existing staging
- Set up multiple production environments (regions)
- Template environments for quick setup
Delete Environment
Permanently remove an environment and all its configuration.
- Click Delete button in environment detail view
- Enter environment name to confirm
- Click Confirm Delete
Delete Behavior:
- Permanently removes environment and all configuration
- Deletes all variables, headers, and authentication settings
- Cannot be undone
- Historical test results retain environment name (as snapshot)
- Default status transfers to next available environment if deleted env was default
Restrictions:
- Cannot delete if it's the only environment in the project
- Cannot delete if it's the default environment (must set new default first)
- Warning if environment has been used in recent launches
Variable Interpolation
Variables can be referenced in test configurations, headers, and authentication using interpolation syntax.
Syntax
{{VARIABLE_NAME}}Interpolation Locations
Headers:
Authorization: Bearer {{API_TOKEN}}
X-Environment: {{ENVIRONMENT_NAME}}Base URL:
https://{{SUBDOMAIN}}.example.comAuthentication:
- Token field can reference variables
- Custom header values can reference variables
Variable Resolution
- Check launch-level variables first
- Check environment-level variables second
- Check global (workspace) variables third
- Return empty string if variable not found
Nested Variables
Variables can reference other variables:
API_URL = https://{{API_SUBDOMAIN}}.example.com
FULL_PATH = {{API_URL}}/v1/endpointEnvironment Best Practices
Naming Conventions
Use consistent, descriptive names:
Development - LocalDevelopment - SharedStaging - US-EastStaging - EU-WestProduction - USProduction - EU
Variable Organization
- Group related variables: Use prefixes like
DB_,API_,AUTH_ - Use uppercase: Variable names are case-sensitive, uppercase convention
- Document purposes: Use description field for complex variables
- Secure secrets: Mark sensitive data as Secret type
Base URL Management
- No trailing slashes: Use
https://api.example.comnothttps://api.example.com/ - Include protocol: Always specify
http://orhttps:// - Use environment variables: Enable multi-region setups with variable URLs
- Document in description: Note any special routing or proxy requirements
Security
- Never log secrets: Secret variables are masked in all views and logs
- Rotate credentials: Update API keys and tokens regularly
- Limit access: Only necessary team members should access production environments
- Audit reveals: Secret reveal events are logged for security tracking
- Use least privilege: Grant minimum required permissions for test accounts
Related Topics
- How-to: Executing Tests - Selecting environments for test execution
- How-to: Test Reporting - Filtering results by environment
- Reference: Launches - Launch execution reference
- Concepts: Projects - Project-level environment management