Zum Hauptinhalt springen

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

MethodeEndpunktBeschreibung
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

MethodeEndpunktBeschreibung
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

MethodeEndpunktBeschreibung
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

MethodeEndpunktBeschreibung
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

MethodeEndpunktBeschreibung
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

MethodeEndpunktBeschreibung
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: