> For the complete documentation index, see [llms.txt](https://docs.sealights.io/knowledgebase/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.sealights.io/knowledgebase/setup-and-configuration/sealights-agents-and-plugins/abap-agent-2.0/test-tool-integrations/alm.md).

# OpenText ALM

OpenText ALM test repository adapter for ABAP Agent 2.0 — CLI and Guides references.

Use adapter type **`alm`** to connect OpenText ALM so the agent can search test cases for your pipeline.

{% hint style="warning" %}
When you create the ABAP pipeline with `pipeline set`, **leave `--labid` unset** unless you deliberately need to override it. The agent derives the default lab ID as `<QAS SID> <QAS RFC hostname>`. Casual overrides can break **Test Cycles** in SeaLights. See [Create and list pipelines](/knowledgebase/setup-and-configuration/sealights-agents-and-plugins/abap-agent-2.0/command-line-interface/create-and-list-pipelines.md).
{% endhint %}

## Configure

* [Configure Test Repositories](/knowledgebase/setup-and-configuration/sealights-agents-and-plugins/abap-agent-2.0/command-line-interface/configure-test-repositories.md) — `slabapcli testrepo set --type alm`
* [Setup and installation](/knowledgebase/setup-and-configuration/sealights-agents-and-plugins/abap-agent-2.0/guides/setup-and-installation.md) (Part 1)
* [Show the value with Test Cycles](/knowledgebase/setup-and-configuration/sealights-agents-and-plugins/abap-agent-2.0/guides/show-the-value-with-test-cycles.md) (Part 2)

### `testrepo set` parameters for `alm`

Non-secret keys use `--setting key=value`. Secrets are entered interactively (not via `--setting`). Plus common options (`--name`, `--type`, `--pipeline`, `--test-stage`) — see [Configure Test Repositories](/knowledgebase/setup-and-configuration/sealights-agents-and-plugins/abap-agent-2.0/command-line-interface/configure-test-repositories.md).

Provide exactly one credential pair: **`username`** + **`password`**, or **`apikey`** + **`apisecret`** (OpenText ALM 15+ API-key auth).

| Parameter             | Kind    | Required            | Description                                                                                                                 |
| --------------------- | ------- | ------------------- | --------------------------------------------------------------------------------------------------------------------------- |
| `url`                 | Setting | Yes                 | The OpenText ALM server URL (for example `https://alm.example.com/qcbin`).                                                  |
| `domain`              | Setting | Yes                 | The OpenText ALM domain.                                                                                                    |
| `project`             | Setting | Yes                 | The OpenText ALM project name.                                                                                              |
| `clientDirectory`     | Setting | Yes                 | Absolute path to the customer folder containing `OTAClient.dll` and `WebClient.dll` (source for staging at `testrepo set`). |
| `requirementType`     | Setting | No                  | Reserved for future requirements operations.                                                                                |
| `requirementAuthor`   | Setting | No                  | Reserved for future requirements operations.                                                                                |
| `searchPaths`         | Setting | No                  | Comma-separated list that scopes the search to specific paths. Written as top-level `searchpaths` in `config.toml`.         |
| `confidenceThreshold` | Setting | No                  | Integer 0–100. Minimum confidence for a match.                                                                              |
| `username`            | Secret  | One credential pair | OpenText ALM account username.                                                                                              |
| `password`            | Secret  | One credential pair | OpenText ALM account password.                                                                                              |
| `apikey`              | Secret  | One credential pair | OpenText ALM 15+ API key.                                                                                                   |
| `apisecret`           | Secret  | One credential pair | OpenText ALM 15+ API secret.                                                                                                |

{% tabs %}
{% tab title="Command Prompt" %}
{% code title="Command" overflow="wrap" %}

```batch
slabapcli.exe testrepo set --name "ALM_Demo-alm" --type "alm" --pipeline "ALM_Demo-S21" --setting url=https://alm.example.com/qcbin --setting domain=DEFAULT --setting project=DemoProject --setting clientDirectory="C:\ALM Client\15.00.0.0" --test-stage "Regression Tests"
```

{% endcode %}
{% endtab %}

{% tab title="PowerShell" %}
{% code title="Command" overflow="wrap" %}

```powershell
.\slabapcli.exe testrepo set --name 'ALM_Demo-alm' --type 'alm' --pipeline 'ALM_Demo-S21' --setting url=https://alm.example.com/qcbin --setting domain=DEFAULT --setting project=DemoProject --setting clientDirectory='C:\ALM Client\15.00.0.0' --test-stage 'Regression Tests'
```

{% endcode %}
{% endtab %}
{% endtabs %}

`--test-stage` is optional. See [Configure Test Repositories](/knowledgebase/setup-and-configuration/sealights-agents-and-plugins/abap-agent-2.0/command-line-interface/configure-test-repositories.md) for the default `"{type} Tests"` value, clear-on-omit behavior, and duplicate-stage warning.

Provide exactly one credential pair when prompted: **`username`** + **`password`**, or **`apikey`** + **`apisecret`** (OpenText ALM 15+ API-key auth). `clientDirectory` must point at a folder that contains the OpenText ALM OTA/WebClient DLLs.

{% code title="Expected output (PowerShell, abbreviated)" overflow="wrap" lineNumbers="true" %}

```log
.\slabapcli.exe testrepo set --name 'ALM_Demo-alm' --type 'alm' --pipeline 'ALM_Demo-S21' --setting url=https://alm.example.com/qcbin --setting domain=DEFAULT --setting project=DemoProject --setting clientDirectory='C:\ALM Client\15.00.0.0' --test-stage 'Regression Tests'
[2026-03-08 10:45:00.123+02:00] [info] Config pathname: C:\ProgramData\Tricentis\SeaLights\ABAP Agent\config\config.toml
Enter username (optional, press Enter to skip): ********
Confirm username: ********
Enter password (optional, press Enter to skip): **********
Confirm password: **********
Enter apikey (optional, press Enter to skip):
Enter apisecret (optional, press Enter to skip):
Configuration for adapter 'ALM_Demo-alm' was saved successfully.
Running connection test for 'ALM_Demo-alm'...
Connection test passed for 'ALM_Demo-alm' (pipeline: 'ALM_Demo-S21').
```

{% endcode %}

Once the test repository is configured and the connection test succeeds:

1. Finish any remaining agent setup for the pipeline (RFC, pipeline, additional test repositories) if you have not already.
2. Schedule repository search with `search_testrepo`.
3. Capture coverage with Footprints and your test runs.

For the full setup order, see [Start the ABAP Agent Server](/knowledgebase/setup-and-configuration/sealights-agents-and-plugins/abap-agent-2.0/command-line-interface/start-the-agent-server.md) and [Configure Test Repositories](/knowledgebase/setup-and-configuration/sealights-agents-and-plugins/abap-agent-2.0/command-line-interface/configure-test-repositories.md).

`search_testrepo` registers a Windows Scheduled Task that runs `watcher.exe SEARCH_TESTREPO` on a cron schedule.

{% tabs %}
{% tab title="Command Prompt" %}
{% code title="Schedule a search" overflow="wrap" %}

```batch
slabapcli.exe search_testrepo run --pipeline <pipeline> --testrepo <name> [--cron "<cron>"]
```

{% endcode %}
{% endtab %}

{% tab title="PowerShell" %}
{% code title="Schedule a search" overflow="wrap" %}

```powershell
.\slabapcli.exe search_testrepo run --pipeline <pipeline> --testrepo <name> [--cron '<cron>']
```

{% endcode %}
{% endtab %}
{% endtabs %}

| Parameter    | Required | Description                                                                                                                                                                                                                                                                                                                     |
| ------------ | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `--pipeline` | Yes      | Pipeline name (`[[pipeline]].name`).                                                                                                                                                                                                                                                                                            |
| `--testrepo` | Yes      | Test repository name (`[[testrepo]].name`) linked to that pipeline.                                                                                                                                                                                                                                                             |
| `--cron`     | No       | 5-field cron expression in the machine's local time. Default: `0 2 * * 0` (Sunday at 02:00). Supported forms: `M * * * *`, `*/N * * * *`, `M/N * * * *`, `M H * * *`, and `M H * * D` (`D` is one day, `0`-`7` or `SUN`-`SAT`). Ranges and lists (for example `1-5`) are not supported, and day-of-month and month must be `*`. |

Full command reference (stop, list, prerequisites): [Search Test Repositories](/knowledgebase/setup-and-configuration/sealights-agents-and-plugins/abap-agent-2.0/command-line-interface/search-test-repositories.md).

SeaLights associates test executions with ABAP code changes through **Footprints** on the agent side.

{% stepper %}
{% step %}

## Schedule Footprints for the pipeline

```batch
slabapcli.exe footprints run --pipeline <pipeline-name>
```

This creates a `FOOTPRINTS` scheduled task that periodically collects coverage-related data and sends it to SeaLights. Full syntax and stop command: [Collect Footprints data for your Pipeline](/knowledgebase/setup-and-configuration/sealights-agents-and-plugins/abap-agent-2.0/command-line-interface/collect-footprints-data-for-your-pipeline.md).
{% endstep %}

{% step %}

## Run tests against the QAS system

Execute tests that exercise the ABAP components you care about while Footprints is collecting. The agent matches executed ABAP components against objects in the latest Build Modification and reports them as footprints.
{% endstep %}

{% step %}

## Wait for processing, then check the Coverage Report

SeaLights needs time to process Footprints data. When processing completes, covered ABAP components appear in your application's Coverage Report.
{% endstep %}
{% endstepper %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.sealights.io/knowledgebase/setup-and-configuration/sealights-agents-and-plugins/abap-agent-2.0/test-tool-integrations/alm.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
