# Référence rapide Jira

*Issues, JQL, workflows, tableaux, sprints, filtres*

> Source: Jira Documentation (support.atlassian.com) · MIT

## Issues

### Types d'issues

| Command | Description |
|---------|-------------|
| `Epic` | Grand ensemble de travail ; contient des stories |
| `Story` | Fonctionnalité ou exigence côté utilisateur |
| `Task` | Unité de travail (technique ou non) |
| `Bug` | Défaut ou comportement inattendu |
| `Sub-task` | Enfant d'une story/tâche ; ne peut pas exister seul |

### Champs d'une issue

| Command | Description |
|---------|-------------|
| `Summary` | Titre court (obligatoire) |
| `Description` | Détails, critères d'acceptation |
| `Assignee` | Personne responsable |
| `Priority` | Highest / High / Medium / Low / Lowest |
| `Labels` | Tags libres pour le regroupement |
| `Components` | Sous-sections du projet (ex. Backend, UI) |
| `Fix Version` | Version ciblée par cette issue |
| `Story Points` | Estimation d'effort (Scrum) |

### Liens entre issues

| Command | Description |
|---------|-------------|
| `blocks / is blocked by` | Relation de dépendance |
| `clones / is cloned by` | Suivi des doublons |
| `relates to` | Association générale |
| `is caused by / causes` | Lien de cause à effet |

## Recherche JQL

### Syntaxe de base

```
project = MYPROJ AND status = "In Progress"
assignee = currentUser() AND resolution = Unresolved
priority in (High, Highest) ORDER BY created DESC
```

### Opérateurs

| Command | Description |
|---------|-------------|
| `=` | Correspondance exacte |
| `!=` | Différent |
| `in (a, b)` | Correspondre à l'un de la liste |
| `not in (a, b)` | Exclure la liste |
| `~ "text"` | Contient (recherche textuelle) |
| `!~ "text"` | Ne contient pas |
| `is EMPTY` | Le champ n'a pas de valeur |
| `is not EMPTY` | Le champ a une valeur |
| `> < >= <=` | Comparaison (dates, nombres) |

### Fonctions de date

```
created >= -7d                       # 7 derniers jours
due <= endOfWeek()                   # dû cette semaine
updated >= startOfMonth()            # mis à jour ce mois
created >= "2025-01-01"              # depuis une date précise
```

### Modèles JQL utiles

```
# Issues obsolètes
status != Done AND updated <= -30d
# Mes bugs ouverts
assignee = currentUser() AND type = Bug AND resolution = Unresolved
# Périmètre du sprint
sprint in openSprints() AND project = MYPROJ
```

## Workflows

### Workflow par défaut

| Command | Description |
|---------|-------------|
| `To Do` | Non commencé |
| `In Progress` | En cours |
| `Done` | Terminé |

### Workflow étendu

| Command | Description |
|---------|-------------|
| `Open` | Créé, en attente de triage |
| `In Progress` | En cours de traitement actif |
| `In Review` | Revue de code ou QA |
| `Done` | Accepté et fermé |
| `Reopened` | Retourné depuis Done |

### Concepts de workflow

| Command | Description |
|---------|-------------|
| `Status` | État actuel d'une issue |
| `Transition` | Déplacement autorisé entre statuts |
| `Condition` | Qui peut effectuer une transition |
| `Validator` | Vérifications avant l'exécution d'une transition |
| `Post Function` | Action après la transition (ex. assigner) |
| `Resolution` | Raison de la fermeture (Fixed, Won't Do) |

## Tableaux

### Types de tableaux

| Command | Description |
|---------|-------------|
| `Scrum Board` | Basé sur les sprints ; backlog, planification, vélocité |
| `Kanban Board` | Flux continu ; limites WIP, pas de sprints |

### Colonnes du tableau

| Command | Description |
|---------|-------------|
| `Column` | Correspond à un ou plusieurs statuts |
| `WIP Limit` | Nombre maximum d'issues dans une colonne (Kanban) |
| `Swimlane` | Regroupement horizontal (par epic, assigné, etc.) |
| `Quick Filter` | Filtre JQL à bascule sur le tableau |

### Configuration du tableau

| Command | Description |
|---------|-------------|
| `Filter` | Requête JQL définissant le périmètre du tableau |
| `Estimation` | Story Points ou estimation d'origine |
| `Card Layout` | Champs affichés sur les cartes d'issues |
| `Card Colors` | Couleur par priorité, assigné, requête |

## Sprints

### Cycle de vie d'un sprint

| Command | Description |
|---------|-------------|
| `Create` | Nom + objectif et dates optionnels |
| `Plan` | Glisser les issues du backlog dans le sprint |
| `Start` | Définir la durée (1-4 semaines en général) |
| `Active` | L'équipe travaille sur les issues du sprint |
| `Complete` | Déplacer les éléments non terminés vers le backlog ou le sprint suivant |

### Rapports de sprint

| Command | Description |
|---------|-------------|
| `Burndown Chart` | Travail restant vs temps |
| `Sprint Report` | Terminé vs non terminé |
| `Velocity Chart` | Story points par sprint dans le temps |
| `Cumulative Flow` | Distribution des statuts dans le temps |

### JQL de sprint

```
sprint in openSprints()              # sprint actuel
sprint in futureSprints()            # sprints à venir
sprint = "Sprint 12"                 # sprint spécifique
sprint in closedSprints() AND resolution = Unresolved
```

## Filtres

### Créer des filtres

| Command | Description |
|---------|-------------|
| `Search` | Écrire du JQL dans la recherche d'issues |
| `Save As` | Enregistrer le JQL comme filtre nommé |
| `Star` | Mettre un filtre en favori pour y accéder rapidement |
| `Subscription` | Recevoir les résultats du filtre par email selon un calendrier |

### Partage et permissions

| Command | Description |
|---------|-------------|
| `Private` | Seul vous pouvez voir le filtre |
| `Group` | Partager avec un groupe spécifique |
| `Project` | Partager avec les membres du projet |
| `Public` | Tout utilisateur connecté |
| `Edit Permissions` | Contrôler qui peut modifier le filtre |

### Tableaux de bord

| Command | Description |
|---------|-------------|
| `Filter Results` | Gadget affichant les issues d'un filtre |
| `Pie Chart` | Répartition par champ (priorité, assigné) |
| `Two Dimensional` | Matrice X/Y (ex. priorité vs statut) |
| `Activity Stream` | Activité récente du projet |

## Raccourcis

### Navigation globale

| Command | Description |
|---------|-------------|
| `g then d` | Aller au tableau de bord |
| `g then b` | Aller au tableau |
| `g then i` | Aller à la recherche d'issues |
| `/` | Recherche rapide |
| `c` | Créer une issue |
| `?` | Afficher les raccourcis clavier |

### Vue d'une issue

| Command | Description |
|---------|-------------|
| `a` | M'assigner |
| `m` | Commenter |
| `l` | Modifier les labels |
| `e` | Modifier l'issue |
| `j / k` | Issue suivante / précédente dans la liste |
| `o` | Ouvrir l'issue sélectionnée |

### Raccourcis du tableau

| Command | Description |
|---------|-------------|
| `1-9` | Déplacer l'issue vers la colonne 1-9 |
| `t` | Basculer la vue détaillée |
| `n` | Carte suivante |
| `p` | Carte précédente |

## Modèles courants

### Modèle de rapport de bug

| Command | Description |
|---------|-------------|
| `Summary` | [Composant] Courte description du bug |
| `Steps to Reproduce` | Étapes numérotées pour reproduire le problème |
| `Expected` | Ce qui devrait se passer |
| `Actual` | Ce qui se passe réellement |
| `Environment` | OS, navigateur, version, etc. |
| `Severity` | Blocker / Critical / Major / Minor / Trivial |

### Format de story

```
As a [role],
I want [action],
so that [benefit].
---
Acceptance Criteria:
- [ ] Criterion 1
- [ ] Criterion 2
```

### Opérations en masse

| Command | Description |
|---------|-------------|
| `Search → Select All` | Sélectionner des issues dans les résultats de recherche |
| `Bulk Change` | Modifier, transitionner ou supprimer en lot |
| `CSV Export` | Exporter les résultats pour les rapports |
| `Board drag` | Glisser les issues entre colonnes/sprints |
