> 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

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: alm-user
Confirm username:
Enter password:
Confirm password:
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. Default: `0 2 * * 0` (Sunday at 02:00).    |

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 dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
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=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
