# Pass Katalon TestOps email and password as environment variables instead of hard coding in Project Settings?

**URL:** <https://forum.katalon.com/t/pass-katalon-testops-email-and-password-as-environment-variables-instead-of-hard-coding-in-project-settings/185513>\
**Category:** Integrations\
**Created:** [November 12, 2025, 2:37pm UTC](https://forum.katalon.com/t/pass-katalon-testops-email-and-password-as-environment-variables-instead-of-hard-coding-in-project-settings/185513 "2025-11-12T14:37:16Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![praveen.subramani](https://dub1.discourse-cdn.com/katalon/user_avatar/forum.katalon.com/praveen.subramani/32/30227_2.png) [@praveen.subramani](https://forum.katalon.com/u/praveen.subramani)\
**Post date:** [November 12, 2025, 2:37pm UTC](https://forum.katalon.com/t/pass-katalon-testops-email-and-password-as-environment-variables-instead-of-hard-coding-in-project-settings/185513/1 "2025-11-12T14:37:16Z")

</div>

Hi there,

I’m currently integrating my Katalon Studio project with **Katalon TestOps** , and I noticed that in the **Project Settings → Katalon Platform** section, the configuration requires entering an **Email** and **Password** for authentication.

 ![image](https://europe1.discourse-cdn.com/katalon/original/3X/8/a/8aebe30a2cef75251ed376440650e98deca4f854.png)

I’d like to avoid storing credentials directly in the project file and instead **pass them as environment variables** (for example, through Global variables/GitHub Actions secrets).

Is there a way to configure Katalon Studio to read the TestOps credentials — Email and Password — from environment variables or external configuration instead of hardcoding them in the project settings?

---

<div class="post-metadata">

**Author:** ![depapp](https://dub1.discourse-cdn.com/katalon/user_avatar/forum.katalon.com/depapp/32/29178_2.png) [@depapp](https://forum.katalon.com/u/depapp)\
**Post date:** [November 13, 2025, 3:13am UTC](https://forum.katalon.com/t/pass-katalon-testops-email-and-password-as-environment-variables-instead-of-hard-coding-in-project-settings/185513/2 "2025-11-13T03:13:40Z")

</div>

hi @praveen.subramani  
if you want to pass the credentials thru ENV var, you can do it like this (using API key instead):

```bash
katalonc
-noSplash
-runMode=console
-projectPath="C:\Users\username\Desktop\Katalon Studio\MyProject\MyProject.prj"
-testSuitePath="Test Suites/MyTestSuite"
-browserType="Chrome"
-executionProfile="default"
-apiKey="YOUR_API_KEY"

```

---

<div class="post-metadata">

**Author:** ![praveen.subramani](https://dub1.discourse-cdn.com/katalon/user_avatar/forum.katalon.com/praveen.subramani/32/30227_2.png) [@praveen.subramani](https://forum.katalon.com/u/praveen.subramani)\
**Post date:** [November 13, 2025, 6:19am UTC](https://forum.katalon.com/t/pass-katalon-testops-email-and-password-as-environment-variables-instead-of-hard-coding-in-project-settings/185513/3 "2025-11-13T06:19:20Z")

</div>

Hi @depapp, as shown in the attached image, I’ve used the email `testUser@gmail.com`. I’d like to store and pass this email and its corresponding password using environment variables like globalVariable or some form of global configuration.

---

<div class="post-metadata">

**Author:** ![dineshh](https://dub1.discourse-cdn.com/katalon/user_avatar/forum.katalon.com/dineshh/32/24488_2.png) [@dineshh](https://forum.katalon.com/u/dineshh)\
**Post date:** [November 13, 2025, 6:36am UTC](https://forum.katalon.com/t/pass-katalon-testops-email-and-password-as-environment-variables-instead-of-hard-coding-in-project-settings/185513/4 "2025-11-13T06:36:22Z")

</div>

## **Global Variables (Not for TestOps Auth)**

- Katalon’s `GlobalVariable` system is intended for test data and parameters, not core system authentication—there is no built-in way to map a global variable to the TestOps authentication fields in project settings.

## **Recommended: Use TestOps API Key Instead**

- When running tests from the CLI (`katalonc` command), you can pass the `-apiKey="YOUR_API_KEY"` option instead of Email/Password.
- This is **best practice for automation and CI/CD** , since API keys can be securely managed as environment variables or CI secrets (e.g. in GitHub Actions, Jenkins, Azure DevOps).​
- Example for console execution:

```auto
katalonc \
  -noSplash \
  -runMode=console \
  -projectPath="C:\Users\username\MyProject.prj" \
  -testSuitePath="Test Suites/MySuite" \
  -browserType="Chrome" \
  -apiKey="$KATALON_API_KEY"

```

Store your API key in an environment variable or secret provider and reference it, ensuring you avoid hardcoding sensitive credentials.

---

<div class="post-metadata">

**Author:** ![praveen.subramani](https://dub1.discourse-cdn.com/katalon/user_avatar/forum.katalon.com/praveen.subramani/32/30227_2.png) [@praveen.subramani](https://forum.katalon.com/u/praveen.subramani)\
**Post date:** [November 13, 2025, 7:09am UTC](https://forum.katalon.com/t/pass-katalon-testops-email-and-password-as-environment-variables-instead-of-hard-coding-in-project-settings/185513/5 "2025-11-13T07:09:40Z")

</div>

@dineshh  
yes, I’ve used exactly what you’ve mentioned

 ![image](https://europe1.discourse-cdn.com/katalon/original/3X/2/0/2054ae8bf6fbdb65660e3db76a3ff553f507b516.png)

but getting this below error

 ![image](https://europe1.discourse-cdn.com/katalon/original/3X/3/b/3b20efee8d4aa33ca049a64d262b2a82ba4a9691.png)

My question is, if we haven’t configured the integration within Katalon Studio (UI), how will the test results be uploaded to TestOps during CI/CD execution using only the API key, since we haven’t specified the organization ID or project ID anywhere?

---

<div class="post-metadata">

**Author:** ![depapp](https://dub1.discourse-cdn.com/katalon/user_avatar/forum.katalon.com/depapp/32/29178_2.png) [@depapp](https://forum.katalon.com/u/depapp)\
**Post date:** [November 13, 2025, 10:31am UTC](https://forum.katalon.com/t/pass-katalon-testops-email-and-password-as-environment-variables-instead-of-hard-coding-in-project-settings/185513/6 "2025-11-13T10:31:12Z")

</div>

hi @praveen.subramani  
if your goal is to add the specific `organization ID` / `project ID`, you can pass these 2 params on your command line:

```bash
-orgID=<your_org_id>
-testOpsProjectId=<your_project_id> 

```

reference: [Command-line syntax in Katalon Runtime Engine | Katalon Docs](https://docs.katalon.com/katalon-studio/execute-tests/katalon-runtime-engine/command-line-syntax-in-katalon-runtime-engine#testops-integration-arguments)

---

<div class="post-metadata">

**Author:** ![Monty\_Bagati](https://dub1.discourse-cdn.com/katalon/user_avatar/forum.katalon.com/monty_bagati/32/33047_2.png) [@Monty\_Bagati](https://forum.katalon.com/u/Monty_Bagati)\
**Post date:** [December 30, 2025, 8:34am UTC](https://forum.katalon.com/t/pass-katalon-testops-email-and-password-as-environment-variables-instead-of-hard-coding-in-project-settings/185513/7 "2025-12-30T08:34:20Z")

</div>

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](https://docs.katalon.com/katalon-studio/get-started/workspace-settings/integrate-katalon-platform-with-katalon-studio):

**❌ Katalon Studio does NOT directly support reading Email/Password from environment variables in the Project Settings UI.**

The credentials are stored in:

```auto
<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](https://docs.katalon.com/katalon-platform/administer/profile/katalon-api-key-in-katalon-testops):

**✅ 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**

1. Sign in to [Katalon TestOps](https://testops.katalon.io/login)
2. Click your **Avatar** → **User Settings** → **Katalon API Key**
3. Click **Create API Key**
4. Enter a name and expiration period
5. 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:

```bash
# 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:**

```yaml
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:

1. **Manually edit the properties file** before running tests:

2. **Use a script to inject credentials** before launching Katalon:

**⚠ 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**

- [Katalon API Key in Katalon TestOps](https://docs.katalon.com/katalon-platform/administer/profile/katalon-api-key-in-katalon-testops)
- [Integrate Katalon Platform with Katalon Studio](https://docs.katalon.com/katalon-studio/get-started/workspace-settings/integrate-katalon-platform-with-katalon-studio)
- [Upload Test Results to TestOps Manually](https://docs.katalon.com/katalon-studio/test-reports/upload-test-results-from-katalon-studio-to-katalon-testops-manually)

* * *

**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.
