feat: add project key support for Jira analytics

- Introduced `projectKey` and `ignoredProjects` fields in Jira configuration to enhance analytics capabilities.
- Implemented project validation logic in `JiraConfigClient` and integrated it into the `JiraConfigForm` for user input.
- Updated `IntegrationsSettingsPageClient` to display analytics dashboard link based on the configured project key.
- Enhanced API routes to handle project key in Jira sync and user preferences.
- Marked related tasks as complete in `TODO.md`.
This commit is contained in:
Julien Froidefond
2025-09-18 22:08:29 +02:00
parent 4f9cff94f3
commit 78a96b9c92
22 changed files with 2240 additions and 35 deletions

40
TODO.md
View File

@@ -261,30 +261,30 @@ Endpoints complexes → API Routes conservées
## 📊 Phase 5: Surveillance Jira - Analytics d'équipe (Priorité 5)
### 5.1 Configuration projet Jira
- [ ] Ajouter champ `projectKey` dans la config Jira (settings)
- [ ] Interface pour sélectionner le projet à surveiller
- [ ] Validation de l'existence du projet via API Jira
- [ ] Sauvegarde de la configuration projet dans les préférences
- [ ] Test de connexion spécifique au projet configuré
- [x] Ajouter champ `projectKey` dans la config Jira (settings)
- [x] Interface pour sélectionner le projet à surveiller
- [x] Validation de l'existence du projet via API Jira
- [x] Sauvegarde de la configuration projet dans les préférences
- [x] Test de connexion spécifique au projet configuré
### 5.2 Service d'analytics Jira
- [ ] Créer `services/jira-analytics.ts` - Métriques avancées
- [ ] Récupération des tickets du projet (toute l'équipe, pas seulement assignés)
- [ ] Calculs de vélocité d'équipe (story points par sprint)
- [ ] Métriques de cycle time (temps entre statuts)
- [ ] Analyse de la répartition des tâches par assignee
- [ ] Détection des goulots d'étranglement (tickets bloqués)
- [ ] Historique des sprints et burndown charts
- [ ] Cache intelligent des métriques (éviter API rate limits)
- [x] Créer `services/jira-analytics.ts` - Métriques avancées
- [x] Récupération des tickets du projet (toute l'équipe, pas seulement assignés)
- [x] Calculs de vélocité d'équipe (story points par sprint)
- [x] Métriques de cycle time (temps entre statuts)
- [x] Analyse de la répartition des tâches par assignee
- [x] Détection des goulots d'étranglement (tickets bloqués)
- [x] Historique des sprints et burndown charts
- [x] Cache intelligent des métriques (éviter API rate limits)
### 5.3 Page de surveillance `/jira-dashboard`
- [ ] Créer page dédiée avec navigation depuis settings Jira
- [ ] Vue d'ensemble du projet (nom, lead, statut global)
- [ ] Sélecteur de période (7j, 30j, 3 mois, sprint actuel)
- [ ] Graphiques de vélocité avec Chart.js ou Recharts
- [ ] Heatmap d'activité de l'équipe
- [ ] Timeline des releases et milestones
- [ ] Alertes visuelles (tickets en retard, sprints déviants)
- [x] Créer page dédiée avec navigation depuis settings Jira
- [x] Vue d'ensemble du projet (nom, lead, statut global)
- [x] Sélecteur de période (7j, 30j, 3 mois, sprint actuel)
- [x] Graphiques de vélocité avec Recharts
- [x] Heatmap d'activité de l'équipe
- [x] Timeline des releases et milestones
- [x] Alertes visuelles (tickets en retard, sprints déviants)
### 5.4 Métriques et graphiques avancés
- [ ] **Vélocité** : Story points complétés par sprint