6 min lecture • Guide 94 of 877
Connecter Automatiquement les Commits GitHub aux Tâches
Sans liaison automatique, les développeurs doivent mettre à jour manuellement les tâches quand du code est commité, menant à des statuts de tâches obsolètes et du contexte manquant. L'intégration GitHub de GitScrum connecte automatiquement les commits et PRs aux tâches, fournissant une visibilité en temps réel sur l'avancement du code.
Avantages de l'Intégration
| Sans Intégration | Avec Intégration |
|---|---|
| Mises à jour statut manuelles | Auto-mise à jour sur PR |
| Pas de visibilité code | Commits sur la tâche |
| Information dupliquée | Source unique de vérité |
| Contexte perdu | Historique complet |
Processus de Configuration
Installation de l'App GitHub
CONFIGURATION INTÉGRATION GITHUB
════════════════════════════════
ÉTAPE 1 : Installer l'App GitHub
─────────────────────────────────────
Paramètres GitScrum → Intégrations → GitHub
Cliquer "Installer App GitHub"
Sélectionner organisation/repos
Autoriser permissions
ÉTAPE 2 : Configurer les Repositories
─────────────────────────────────────
Choisir repositories à connecter
Mapper repos vers projets GitScrum
Définir comportements par défaut
ÉTAPE 3 : Définir les Règles de Liaison
─────────────────────────────────────
Pattern ID tâche : GS-[0-9]+
Pattern branche : feature/GS-[0-9]+-*
Auto-transition : Activé
PERMISSIONS REQUISES :
├── Lire contenu du repository
├── Lire/écrire issues
├── Lire/écrire pull requests
├── Lire statut des commits
└── Webhooks
Mapping des Projets
MAPPING REPOSITORY → PROJET
═══════════════════════════
┌────────────────────────────────────────────────────────┐
│ Repository GitHub │ Projet GitScrum │
├────────────────────────────────────────────────────────┤
│ acme/frontend │ Site Web Acme │
│ acme/backend-api │ Site Web Acme │
│ acme/mobile-app │ App Mobile Acme │
│ acme/shared-libs │ (Tous projets) │
└────────────────────────────────────────────────────────┘
PROJET MULTI-REPO :
├── Plusieurs repos → un projet
├── PRs s'affichent sur tâches liées
└── Contexte à travers la codebase
Liaison des Commits
Format des Messages de Commit
PATTERNS DE MESSAGE DE COMMIT
═════════════════════════════
FORMAT STANDARD :
GS-123: Description brève
EXEMPLES :
─────────────────────────────────────
GS-456: Add user authentication flow
GS-456: Fix token refresh bug
GS-789: Update dashboard styles
─────────────────────────────────────
TÂCHES MULTIPLES :
GS-123, GS-124: Shared refactoring
CONVENTIONAL COMMITS + TÂCHE :
feat(auth): GS-123 add OAuth support
fix(api): GS-456 handle null response
PATTERNS RECONNUS :
├── GS-123
├── GS-123:
├── [GS-123]
├── (GS-123)
└── Fixes GS-123
Ce Qui Est Lié
DONNÉES LIÉES SUR LA TÂCHE
══════════════════════════
VUE TÂCHE :
┌─────────────────────────────────────────────────┐
│ Tâche : GS-456 Implémenter login utilisateur │
├─────────────────────────────────────────────────┤
│ Statut : En Revue │
├─────────────────────────────────────────────────┤
│ CODE │
│ ───── │
│ Branche : feature/GS-456-user-login │
│ │
│ Commits (3) : │
│ ├── abc123 : Initial auth setup │
│ ├── def456 : Add password validation │
│ └── ghi789 : Fix edge cases │
│ │
│ Pull Request : │
│ ├── #234 : Add user authentication │
│ ├── Statut : Revue demandée │
│ ├── Checks : ✓ Tous passés │
│ └── Reviews : 1/2 approuvés │
└─────────────────────────────────────────────────┘
Intégration des Branches
Convention de Nommage de Branche
PATTERNS DE NOMMAGE DE BRANCHE
══════════════════════════════
FORMAT RECOMMANDÉ :
type/GS-[task-id]-description-breve
EXEMPLES :
├── feature/GS-123-user-authentication
├── fix/GS-456-login-bug
├── chore/GS-789-update-dependencies
└── hotfix/GS-999-critical-fix
PATTERNS AUTO-DÉTECTÉS :
├── GS-123-*
├── feature/GS-123-*
├── */GS-123-*
└── GS-123/*
LIEN BRANCHE → TÂCHE :
├── Crée lien auto quand poussé
├── Montre branche sur tâche
├── Suit statut branche
└── Lie vers le repo
Workflow de Création de Branche
CRÉER BRANCHE DEPUIS TÂCHE
══════════════════════════
DEPUIS GITSCRUM :
1. Ouvrir la tâche
2. Cliquer "Créer Branche"
3. Sélectionner repository
4. Branche auto-nommée : feature/GS-123-titre-tache
5. Copier commande git
6. Checkout localement
COMMANDE GIT FOURNIE :
git checkout -b feature/GS-123-titre-tache
AVANTAGES :
├── Nommage cohérent
├── Lié immédiatement
├── Pas de formatage manuel
└── Moins de fautes de frappe
Intégration des Pull Requests
Liaison des PR
LIAISON DES PULL REQUESTS
═════════════════════════
LIEN AUTO QUAND :
├── Titre PR contient GS-[id]
├── Branche PR contient GS-[id]
├── Description PR contient GS-[id]
└── Commits référencent GS-[id]
TEMPLATE PR (recommandé) :
─────────────────────────────────────
## Tâche Liée
GS-123
## Changements
- Description des changements
## Tests
- Comment tester
## Captures d'écran (si applicable)
─────────────────────────────────────
Automatisation des Statuts
AUTOMATISATION PR → STATUT TÂCHE
════════════════════════════════
RÈGLE 1 : PR Ouverte
─────────────────────────────────────
Déclencheur : PR ouverte avec GS-[id]
Action : Déplacer tâche vers "En Revue"
Assigner : Ajouter revieweurs PR comme observateurs
RÈGLE 2 : PR Approuvée
─────────────────────────────────────
Déclencheur : Reviews requis approuvés
Action : Ajouter label "approuvé"
Mise à jour : Tâche montre statut approbation
RÈGLE 3 : PR Mergée
─────────────────────────────────────
Déclencheur : PR mergée vers main
Actions :
├── Déplacer tâche vers "Fait"
├── Ajouter label "livré"
├── Fermer tâche (optionnel)
└── Notifier parties prenantes
RÈGLE 4 : PR Fermée (pas mergée)
─────────────────────────────────────
Déclencheur : PR fermée sans merge
Action : Déplacer tâche vers "En Cours"
Alerte : Notifier owner de la tâche
Intégration CI/CD
Statut des Builds
STATUT CI SUR LA TÂCHE
══════════════════════
LA VUE TÂCHE MONTRE :
┌─────────────────────────────────────────────────┐
│ Statut du Build │
├─────────────────────────────────────────────────┤
│ PR #234 : Add authentication │
│ ├── ✓ lint (passé) │
│ ├── ✓ test (passé) │
│ ├── ✓ build (passé) │
│ └── ✓ deploy-preview (prêt) │
│ │
│ Preview : https://preview-234.app.dev │
└─────────────────────────────────────────────────┘
GESTION DES ÉCHECS :
├── Build échoue → Tâche marquée
├── Notification à l'assigné
├── Auto-label "build-failed"
└── Bloque automatisation merge
Meilleures Pratiques
Pour l'Intégration Git
- Format ID cohérent — Toujours utiliser pattern GS-123
- Commits significatifs — Bons messages avec IDs tâche
- Une branche par tâche — Une tâche, une branche
- Templates PR — Assurer liaison des tâches
- Automatiser statut — Laisser merges fermer tâches
Anti-Patterns
ERREURS D'INTÉGRATION :
✗ Oublier IDs tâche dans commits
✗ Plusieurs tâches par branche
✗ Mises à jour statut manuelles
✗ Ne pas utiliser templates PR
✗ Ignorer intégration CI
✗ Ne pas mapper tous les repos