TestRail API Skill
Direkte TestRail REST API Integration durch repository-lokale Bash-Wrapper.
Installation
Klonen Sie das Repository zuerst:
git clone https://github.com/kos322/testrail-skill.git
cd testrail-skill
Einrichtung
Setzen Sie diese Umgebungsvariablen:
TESTRAIL_URLTESTRAIL_USERTESTRAIL_API_KEY
Basis-URL:
${TESTRAIL_URL}/index.php?/api/v2
Entscheidungsbaum
- Bekannte
PROJECT_ID+ einfache Nur-Lese-Frage: den entsprechenden Wrapper direkt aufrufen. - Unbekannte
PROJECT_ID:./scripts/get_projects.shaufrufen. - Umgebungs-/Authentifizierungs-/Einrichtungsproblem oder erste Installation:
./scripts/doctor.shaufrufen.
Häufige Abfragen
# Bekannte Projekt-ID: Gesamtzahl der Testfälle
./scripts/count_cases.sh PROJECT_ID [SECTION_ID] [--suite SUITE_ID]
# Bekannte Projekt-ID: Vollständige Testfallliste mit automatischer Paginierung
./scripts/list_cases.sh PROJECT_ID [SECTION_ID] [--suite SUITE_ID]
# Bekannte Projekt-ID: Rohseite der paginierten Testfälle
./scripts/get_cases.sh PROJECT_ID [SECTION_ID] [--suite SUITE_ID]
# Jederzeit: Einzelnen Testfall abrufen
./scripts/get_case.sh CASE_ID | jq -r .title
# Einzelfeld ohne manuelles JSON-Parsing
./scripts/get_case_field.sh CASE_ID FIELD
# Abkürzung für Vorbedingungen
./scripts/get_case_precondition.sh CASE_ID
# Unbekannte Projekt-ID: Zugängliche Projekte entdecken
./scripts/get_projects.sh | jq '(.projects // .) | map({id, name})'
# Einrichtungs-/Authentifizierungsproblem: Umgebung und Zugriff validieren
./scripts/doctor.sh
Bevorzugte Wrapper
scripts/count_cases.sh— zuverlässige Gesamtzahl der Testfällescripts/list_cases.sh— vollständige Testfallliste mit automatischer Paginierungscripts/get_cases.sh— rohe, paginierte Testfallantwortscripts/get_case.sh— Abruf eines einzelnen Testfallsscripts/get_case_field.sh— Abruf eines einzelnen Feldesscripts/get_case_precondition.sh— Abkürzung für Vorbedingungenscripts/get_projects.sh— zugängliche Projekte entdeckenscripts/doctor.sh— Einrichtungs-/Authentifizierungsprüfungscripts/create_run.sh,scripts/add_result*.sh,scripts/close_run.sh— Testlauf-/Ergebnisabläufescripts/get_reference_data.sh— Status, Felder, Vorlagen, Benutzer
Ausgabeverträge
| Absicht | Befehl | Ausgabe |
|---|---|---|
| Gesamtzahl der Testfälle | count-cases | einfache Ganzzahl |
| Testfallliste | list-cases | Standardmäßig Klartext: C{id}: {title} |
| Strukturierte Testfallliste | list-cases --format json | JSON-Objekt mit count und cases |
| Ein Testfall | get-case | JSON-Objekt des Testfalls |
| Ein Feld eines Testfalls | get-case-field | einfacher Skalar/String oder kompaktes JSON für Arrays/Objekte |
| Vorbedingung eines Testfalls | get-case-precondition | Klartext / roher Feldwert |
Paginierung
get_cases,get_runs,get_results*und ähnliche Endpunkte können paginiert sein.- Gehen Sie nicht davon aus, dass
.sizeeine sichere Gesamtzahl ist, es sei denn,_links.nextist leer. - Verwenden Sie
./scripts/count_cases.sh, wenn die Frage lautet: „Wie viele Testfälle gibt es?“
Windows
- Bevorzugt: Git Bash / WSL.
- Nur PowerShell-Umgebungen: Verwenden Sie die dünnen Wrapper in
powershell/. - PowerShell-Wrapper starten nur Bash-Skripte; sie lesen
.envnicht selbst.
.\powershell\count-cases.ps1 1
.\powershell\list-cases.ps1 1
.\powershell\list-cases.ps1 1 --format json
.\powershell\get-case.ps1 93
.\powershell\get-case-field.ps1 2 custom_preconds
.\powershell\get-case-precondition.ps1 2
.\powershell\get-cases.ps1 1 10 --suite 1
.\powershell\get-sections.ps1 1 1
.\powershell\get-runs.ps1 1
Bedarfsdokumentation
scripts/README.md— Skript-für-Skript Verwendungdocs/api-reference.md— Endpunktnotizen und Nutzlaststrukturendocs/troubleshooting.md— Einrichtungs- und Authentifizierungsfehlerdocs/agent-guide.md— agentspezifische Ausführungshinweisedocs/maintenance/endpoint-status.md— Wartungs-Momentaufnahme, keine Laufzeitanleitung
Beispiele
examples/workflow_ci.shexamples/workflow_plans_milestones.shexamples/workflow_attachments.sh
Offizielle API-Dokumentation: https://support.testrail.com/hc/en-us/categories/7076541806228-API-Manual