kos322/testrail-skill

Compétence pour agent IA intégrant l'API REST de TestRail – zéro dépendance, alternative sécurisée aux serveurs MCP.

Qu'est-ce que testrail-skill ?

Cette compétence permet à un agent IA (Claude Code, Cursor, etc.) d'interroger directement l'API REST de TestRail via des scripts shell locaux, sans dépendance externe ni serveur MCP. Elle est conçue pour être légère, sécurisée et adaptée aux environnements CI/CD ou aux agents nécessitant un accès rapide aux cas de test, aux suites, aux sections et aux résultats. La compétence fournit des wrappers bash (et PowerShell) pour les opérations courantes : compter les cas, lister les cas, récupérer un cas ou un champ spécifique, découvrir les projets, exécuter des vérifications de configuration, et gérer les cycles de test. Elle inclut également un arbre de décision clair pour guider l'agent dans le choix du script approprié selon la question posée et le contexte (projet connu ou non, problème d'authentification). La pagination est gérée automatiquement pour les listes, et les contrats de sortie (format des données) sont documentés pour chaque script, facilitant l'intégration dans des workflows automatisés.

Compatible avec~Claude Code~Codex CLI~Cursor
npx skills add kos322/testrail-skill

Installed? Explore more Recherche et analyse de données skills: affaan-m/uspto-database, affaan-m/scholar-evaluation, affaan-m/literature-review · View all 6 →

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Compétence TestRail API

Intégration directe de l'API REST TestRail via des wrappers bash locaux au dépôt.

Installation

Clonez d'abord le dépôt :

git clone https://github.com/kos322/testrail-skill.git
cd testrail-skill

Configuration

Définissez ces variables d'environnement :

  • TESTRAIL_URL
  • TESTRAIL_USER
  • TESTRAIL_API_KEY

URL de base :

${TESTRAIL_URL}/index.php?/api/v2

Arbre de décision

  • PROJECT_ID connu + question simple en lecture seule : appelez directement le wrapper approprié.
  • PROJECT_ID inconnu : appelez ./scripts/get_projects.sh.
  • Problème d'environnement/auth ou première installation : appelez ./scripts/doctor.sh.

Requêtes courantes

# ID de projet connu : nombre total de cas
./scripts/count_cases.sh PROJECT_ID [SECTION_ID] [--suite SUITE_ID]

# ID de projet connu : liste complète des cas avec pagination automatique
./scripts/list_cases.sh PROJECT_ID [SECTION_ID] [--suite SUITE_ID]

# ID de projet connu : page de cas brute avec pagination
./scripts/get_cases.sh PROJECT_ID [SECTION_ID] [--suite SUITE_ID]

# À tout moment : lire un cas
./scripts/get_case.sh CASE_ID | jq -r .title

# Champ unique sans analyse JSON manuelle
./scripts/get_case_field.sh CASE_ID FIELD

# Raccourci pour les préconditions
./scripts/get_case_precondition.sh CASE_ID

# ID de projet inconnu : découvrir les projets accessibles
./scripts/get_projects.sh | jq '(.projects // .) | map({id, name})'

# Problème de configuration/auth : valider l'environnement et l'accès
./scripts/doctor.sh

Wrappers privilégiés

  • scripts/count_cases.sh — comptage fiable du nombre total de cas
  • scripts/list_cases.sh — liste complète des cas avec pagination automatique
  • scripts/get_cases.sh — réponse de cas brute paginée
  • scripts/get_case.sh — recherche d'un seul cas
  • scripts/get_case_field.sh — recherche d'un seul champ
  • scripts/get_case_precondition.sh — raccourci pour les préconditions
  • scripts/get_projects.sh — découvrir les projets accessibles
  • scripts/doctor.sh — vérification rapide de la configuration/auth
  • scripts/create_run.sh, scripts/add_result*.sh, scripts/close_run.sh — flux d'exécution/résultat
  • scripts/get_reference_data.sh — statuts, champs, modèles, utilisateurs

Contrats de sortie

IntentionCommandeSortie
nombre total de cascount-casesentier simple
liste de caslist-casestexte simple par défaut : C{id}: {title}
liste structurée de caslist-cases --format jsonobjet JSON avec count et cases
un casget-caseobjet JSON du cas
un champ d'un casget-case-fieldscalaire/chaîne simple ou JSON compact pour tableaux/objets
précondition d'un casget-case-preconditiontexte simple / valeur brute du champ

Pagination

  • Les endpoints get_cases, get_runs, get_results*, etc., peuvent être paginés.
  • Ne supposez pas que .size est un total fiable à moins que _links.next ne soit vide.
  • Utilisez ./scripts/count_cases.sh lorsque la question est « combien y a-t-il de cas ? »

Windows

  • Recommandé : Git Bash / WSL.
  • Environnement PowerShell uniquement : utilisez les wrappers légers dans powershell/.
  • Les wrappers PowerShell ne font que lancer les scripts bash ; ils ne lisent pas eux-mêmes le fichier .env.
.\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

Documentation à la demande

  • scripts/README.md — utilisation script par script
  • docs/api-reference.md — notes sur les endpoints et formes des payloads
  • docs/troubleshooting.md — échecs de configuration et d'authentification
  • docs/agent-guide.md — guide d'exécution spécifique à l'agent
  • docs/maintenance/endpoint-status.md — instantané de maintenance, pas un guide d'exécution

Exemples

  • examples/workflow_ci.sh
  • examples/workflow_plans_milestones.sh
  • examples/workflow_attachments.sh

Documentation officielle de l'API : https://support.testrail.com/hc/en-us/categories/7076541806228-API-Manual

Skills associés