Based on the official Katalon documentation, here’s what you need to know about credential management for TestOps integration:
Problem Analysis
You want to avoid hardcoding TestOps credentials (Email and Password) in your project settings and instead use environment variables or external configuration, especially for CI/CD pipelines like GitHub Actions.
Current Limitation: Direct Environment Variable Support
According to the official documentation on Katalon Platform integration:
Katalon Studio does NOT directly support reading Email/Password from environment variables in the Project Settings UI.
The credentials are stored in:
<project_folder>/settings/internal/com.kms.katalon.integration.analytics.properties
This is a static configuration file, not a dynamic environment variable reader.
Recommended Solution: Use Katalon API Key Instead
The BEST and MOST SECURE approach is to use a Katalon API Key instead of Email/Password credentials. According to the Katalon API Key documentation:
API Keys are designed for:
- Integrating Katalon Studio with TestOps in console mode
- CI/CD pipeline integrations (Jenkins, CircleCI, GitHub Actions, etc.)
- Secure credential management
Step 1: Generate a Katalon API Key
- Sign in to Katalon TestOps
- Click your Avatar → User Settings → Katalon API Key
- Click Create API Key
- Enter a name and expiration period
- Click Create and copy the key
Step 2: Use API Key in Console Mode (CI/CD)
For GitHub Actions or other CI/CD systems, use the command-line approach with the API key:
# Example: Running tests with API Key
katalon -noSplash -runMode=console \
-projectPath="<path_to_project>" \
-testSuitePath="<path_to_test_suite>" \
-apiKey="<your_katalon_api_key>" \
-orgId="<organization_id>" \
-testOpsProjectId="<testops_project_id>"
GitHub Actions Example:
name: Run Katalon Tests
on: [push]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Run Katalon Tests
run: |
katalon -noSplash -runMode=console \
-projectPath="${{ github.workspace }}" \
-testSuitePath="Tests/MyTestSuite" \
-apiKey="${{ secrets.KATALON_API_KEY }}" \
-orgId="<org_id>" \
-testOpsProjectId="<project_id>"
Alternative: Override Authentication with Environment Variables (Limited)
If you must use the Override Authentication option in the GUI, you can:
-
Manually edit the properties file before running tests:
# <project_folder>/settings/internal/com.kms.katalon.integration.analytics.properties
analytics.authentication.email=your_email@example.com
analytics.authentication.password=your_password
-
Use a script to inject credentials before launching Katalon:
# Bash example
export KATALON_EMAIL="your_email@example.com"
export KATALON_PASSWORD="your_password"
# Then programmatically update the properties file
sed -i "s|analytics.authentication.email=.*|analytics.authentication.email=$KATALON_EMAIL|" \
<project>/settings/internal/com.kms.katalon.integration.analytics.properties
Warning: This approach is NOT recommended because:
- Credentials are still stored in plain text
- Less secure than API keys
- Harder to manage in CI/CD pipelines
Best Practice Summary
| Method |
Security |
CI/CD Friendly |
Recommended |
| Hardcoded Email/Password |
Low |
No |
No |
| Environment Variables (Manual) |
Medium |
Partial |
Not Ideal |
| Katalon API Key |
High |
Yes |
YES |
References
Recommendation: Switch to using Katalon API Keys for your CI/CD pipelines. This is the official, secure, and recommended approach by Katalon for automated test execution and result uploads.