Feature #47
closedFeature #24: Implémenter un hook pour la création automatique de tickets Redmine depuis les scans Trivy et Semgrep
Infrastructure Redmine : recherche par clé (champ custom), création + anti-doublons/régression
0%
conversation:21#24
Description
Couche infrastructure de `api/` : adaptateur Redmine concret derrière le port défini par l'application, réutilisant `RedmineClient`, les value objects `RedmineStatus`/`RedmineField` et `create_ticket_from_draft`. Recherche d'un ticket existant par clé via un champ custom `security_key` (repli par recherche titre/clé documenté). État : ticket **ouvert** portant la clé → ne pas recréer (anti-doublon) ; seul un ticket **résolu/fermé** → recréer (régression). Création depuis le draft formaté : tag `Sécurité`, statut `Submitted`, `security_key` renseigné. TDD avec respx ; intégration optionnelle `RUN_REDMINE_LIVE`.
## Critères d'acceptation
- Recherche par clé via champ custom `security_key` (repli titre/clé documenté).
- Anti-doublon : aucun ticket si un ticket ouvert porte déjà la clé.
- Régression : nouveau ticket si seuls des tickets résolus/fermés portent la clé.
- Création conforme : tag `Sécurité`, statut `Submitted`, clé persistée.
- Tests respx verts (format + scénarios dédup/régression) ; chemin `RUN_REDMINE_LIVE` présent ; ruff + mypy passent.
Estimation : M. Dépend de : « Domaine & application … ».
Files