Regression Testing
Automatically determine which test journeys to run based on code changes. The regression endpoint analyzes commit messages, PR descriptions, and file diffs against your project's app map and journey catalog using an LLM, then triggers the matched journeys as regression tests. Designed for CI/CD integration — call this after every deploy to run only the tests that matter.
CI/CD Setup
Add regression tests to your deploy pipeline using the official GitHub Action. After each deploy, the action sends your recent commits to Aiqaramba, which uses an LLM to match changes against your project's journeys and triggers the relevant tests.
GitHub Actions
Add this step to your deploy workflow (after the deploy step):
- uses: alex-ai-eu/aiqaramba/action@main with: api-key: ${{ secrets.AIQARAMBA_API_KEY }} project-id: ${{ vars.AIQARAMBA_PROJECT_ID }}Set these in your repo's Settings → Secrets and variables → Actions:
- AIQARAMBA_API_KEY (secret) — your API key from Account → API Keys
- AIQARAMBA_PROJECT_ID (variable) — UUID of the project to test against
Options
api-base— API URL (default:https://app.aiqaramba.com)fetch-depth— how many commits to analyze (default:5)dry-run— set totrueto preview matches without running agents
Outputs
The action sets these outputs for subsequent steps:
run-id— regression run ID (track results in the Regressions page)matched— number of journeys matched to your changestriggered— number of agents started
Other CI systems
For non-GitHub CI, call the API directly with curl:
curl -X POST \ -H "Authorization: Bearer $AIQARAMBA_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "commits": [{"message": "your commit msg", "files_changed": ["src/app.ts"]}], "commit_sha": "'$CI_COMMIT_SHA'", "github_repo": "owner/repo" }' \ https://app.aiqaramba.com/api/v1/projects/$PROJECT_ID/regressionPrerequisites
- Journeys — your project needs test journeys defined. Run a Discovery first to generate suggested journeys, then customize them.
- App map — a completed discovery gives the LLM context about your app's pages and routes, improving journey matching accuracy.
- Credentials — if your app requires login, add credentials to a persona and assign that persona to your journey runs so agents can authenticate.
Version Tracking
When you pass commit_sha and version, each regression run is tagged with the deployed version. This appears on the Regressions page so you can see exactly which version each test run covers. The GitHub Action does this automatically.
Trigger regression tests
Analyzes code changes against the project's journeys and app map. Uses an LLM to match changes to relevant test flows, then runs the matched journeys. Use dry_run to preview which journeys would be triggered without running them.
Parameters
| Parameter | Type | In | Required | Description |
|---|---|---|---|---|
id | uuid | path | Yes | Project ID |
commits | array | body | No | List of commits with messages and changed files |
diff_summary | string | body | No | High-level summary of all changes (e.g. git diff --stat output) |
pr_title | string | body | No | Pull request title |
pr_body | string | body | No | Pull request description |
dry_run | boolean | body | No | If true, return matched journeys without running them (default: false) |
github_repo | string | body | No | GitHub repository (owner/repo) for auto-creating issues when regression test runs fail |
commit_sha | string | body | No | Git commit SHA of the deploy being tested |
version | string | body | No | Version tag or git describe output of the deploy |
Status Codes
| Code | Description |
|---|---|
200 | Regression run started (or dry-run results returned) |
400 | Validation error — at least one of commits, pr_title, or diff_summary required |
401 | Unauthorized |
404 | Project not found |
Response Body
{
"regression_run_id": "rr-550e8400-e29b-41d4-a716-446655440000",
"matched_journeys": [
{
"id": "770e8400-e29b-41d4-a716-446655440000",
"name": "Checkout Flow",
"reason": "Commit modifies checkout validation logic"
}
],
"agents": [
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"name": "Checkout Flow",
"journey_id": "770e8400-e29b-41d4-a716-446655440000"
}
],
"dry_run": false
}/api/v1/projects/{id}/regression