TESTMETRIX API-Referenz
TESTMETRIX stellt eine vollständig dokumentierte REST-API bereit, die mit Django REST Framework gebaut und mit drf-spectacular (OpenAPI 3) dokumentiert ist.
Interaktive Dokumentation
Die einfachste Möglichkeit, die API zu erkunden, ist die gehostete Swagger-UI:
https://app.testmetrix.ai/api/schema/swagger-ui/
Das vollständige OpenAPI-3-Schema ist verfügbar unter:
https://app.testmetrix.ai/api/schema/
Authentifizierung
Alle API-Endpunkte erfordern Authentifizierung. TESTMETRIX verwendet Token-Authentifizierung.
Token abrufen
curl -X POST https://app.testmetrix.ai/api/login/ \
-H "Content-Type: application/json" \
-d '{"username": "dein_benutzername", "password": "dein_passwort"}'
Antwort:
{
"token": "9944b09199c62bcf9418ad846dd0e4bbdfc6ee4b",
"user": { "id": 1, "username": "dein_benutzername", "email": "du@beispiel.de" }
}
Token verwenden
Das Token in den Authorization-Header aller weiteren Anfragen einfügen:
curl https://app.testmetrix.ai/api/projects/ \
-H "Authorization: Token 9944b09199c62bcf9418ad846dd0e4bbdfc6ee4b"
Wichtige Endpunkte
Projekte & Infrastruktur
| Methode | Endpunkt | Beschreibung |
|---|---|---|
GET | /api/projects/ | Alle Projekte auflisten |
POST | /api/projects/ | Projekt erstellen |
GET | /api/projects/{id}/ | Projektdetails abrufen |
GET | /api/projects/{id}/activity/ | Audit-Aktivitätsprotokoll des Projekts |
GET | /api/hils/ | Teststände (HiL-Systeme) auflisten |
POST | /api/hils/ | Teststand erstellen |
GET | /api/hils/usage/ | Nutzungsstatistiken der Teststände |
POST | /api/hils/bulk-delete/ | Mehrere Teststände löschen |
Pipelines & Testläufe
| Methode | Endpunkt | Beschreibung |
|---|---|---|
GET | /api/pipelines/ | Pipeline-Definitionen auflisten |
POST | /api/pipelines/ | Pipeline-Definition erstellen |
GET | /api/pipeline-executions/ | Pipeline-Ausführungen auflisten |
POST | /api/pipelines/{pipeline_id}/runs/ | JUnit-XML hochladen & Testlauf erstellen |
GET | /api/test_run_overview/ | Testläufe mit Statistiken auflisten |
GET | /api/test_run_overview/export/csv/ | Testlaufübersicht als CSV exportieren |
GET | /api/test_run_detailed/{test_run_id}/ | Detaillierter Testlauf mit Einzelergebnissen |
GET | /api/runs/{run_id}/junit/download/ | Original-JUnit-XML herunterladen |
Testabdeckung
| Methode | Endpunkt | Beschreibung |
|---|---|---|
POST | /api/runs/{run_id}/coverage/ | Cobertura-XML-Bericht hochladen |
GET | /api/runs/{run_id}/coverage/download/ | Coverage-XML herunterladen |
GET | /api/coverage-reports/ | Abdeckungsberichte auflisten |
GET | /api/coverage-reports/{id}/packages/ | Pakete eines Berichts auflisten |
GET | /api/coverage-reports/packages/{id}/files/ | Dateien eines Pakets auflisten |
GET | /api/coverage-reports/files/{id}/lines/ | Zeilenabdeckung einer Datei auflisten |
Metriken & Artefakte
| Methode | Endpunkt | Beschreibung |
|---|---|---|
POST | /api/runs/{run_id}/metrics/ | Zeitreihenmessung für einen Testlauf hochladen |
POST | /api/runs/{run_id}/testcases/{testcase_id}/metrics/ | Messung für einzelnen Testfall hochladen |
POST | /api/runs/{run_id}/testcases/{testcase_id}/artifacts/ | Artefakt für Testfall hochladen |
POST | /api/runs/{run_id}/hil-config/ | HiL-YAML-Konfiguration hochladen |
Verifikationsdomäne
| Methode | Endpunkt | Beschreibung |
|---|---|---|
GET | /api/verification-projects/ | Verifikationsprojekte auflisten |
POST | /api/verification-projects/ | Verifikationsprojekt erstellen |
GET | /api/verification-projects/{id}/metrics/ | Abdeckungs- und Testfall-Metriken |
GET/POST | /api/verification-projects/{id}/attachments/ | Anhänge auflisten / hochladen |
GET | /api/requirement-projects/ | Anforderungsprojekte auflisten |
POST | /api/requirement-projects/ | Anforderungsprojekt erstellen |
GET | /api/requirement-projects/{id}/metrics/ | HLR/LLR-Abdeckungsmetriken |
GET | /api/requirement-projects/{id}/hlr/ | High-Level-Anforderungen (HLR) auflisten |
POST | /api/requirement-projects/{id}/hlr/ | HLR erstellen |
GET | /api/requirement-projects/hlr/{hlr_id}/llr/ | Low-Level-Anforderungen (LLR) auflisten |
POST | /api/requirement-projects/hlr/{hlr_id}/llr/ | LLR erstellen |
GET | /api/requirement-projects/hlr/{hlr_id}/references/ | HLR-Referenzen auflisten |
GET | /api/requirement-projects/llr/{llr_id}/references/ | LLR-Referenzen auflisten |
GET | /api/testcase-projects/ | Testfall-Projekte auflisten |
POST | /api/testcase-projects/ | Testfall-Projekt erstellen |
GET | /api/testcase-projects/{id}/testcases/ | Testfälle auflisten |
POST | /api/testcase-projects/{id}/testcases/ | Testfall erstellen |
Benutzerverwaltung & Audit
| Methode | Endpunkt | Beschreibung |
|---|---|---|
GET | /api/users/ | Benutzer auflisten (nur Admins) |
POST | /api/users/ | Benutzer erstellen (nur Admins) |
GET | /api/users/me/ | Aktuelles Benutzerprofil abrufen |
GET | /api/roles/ | Rollen auflisten |
GET | /api/audit/ | Vollständiges Audit-Protokoll (nur Admins) |
Paginierung
Listen-Endpunkte sind paginiert. Die Standard-Seitengröße beträgt 20. Mit ?page=2 zur nächsten Seite navigieren.
{
"count": 142,
"next": "https://app.testmetrix.ai/api/requirement-projects/?page=2",
"previous": null,
"results": [...]
}
CI/CD-Integrationsbeispiel
Ein minimales Shell-Skript zum Hochladen von JUnit-Ergebnissen aus einer CI-Pipeline:
#!/bin/bash
# upload-results.sh — nach Abschluss der Test-Suite ausführen
API_URL="https://app.testmetrix.ai/testmetrix/api"
TOKEN="${TESTMETRIX_API_TOKEN}"
PIPELINE_ID="${TESTMETRIX_PIPELINE_ID}"
JUNIT_FILE="test-results.xml"
HIL_NAME="HIL-01"
curl -sS -X POST "${API_URL}/pipelines/${PIPELINE_ID}/runs/" \
-H "Authorization: Token ${TOKEN}" \
-F "junit_file=@${JUNIT_FILE}" \
-F "hil_name=${HIL_NAME}"
TESTMETRIX_API_TOKEN und TESTMETRIX_PIPELINE_ID als CI/CD-Variablen im GitLab-Projekt setzen.
Vollständiges Schema
Für die vollständige, aktuelle API-Spezifikation:
- Swagger UI — Endpunkte interaktiv ausprobieren
- OpenAPI YAML — Rohschema herunterladen