llm_ticket3/docs/odoo/README.md
2025-04-09 16:13:20 +02:00

133 lines
4.8 KiB
Markdown

# Documentation Odoo - Gestion des tickets
Ce document décrit les fonctionnalités disponibles dans le module Odoo pour la gestion des tickets et leur extraction.
## Modules disponibles
Le package Odoo contient plusieurs modules qui travaillent ensemble :
- `auth_manager.py` : Gestion de l'authentification Odoo
- `ticket_manager.py` : Extraction des informations d'un ticket unique
- `batch_ticket_manager.py` : Gestion des extractions par lots de tickets
- `message_manager.py` : Traitement des messages associés aux tickets
- `attachment_manager.py` : Gestion des pièces jointes
- `retrieve_ticket.py` : Script pour extraire un ticket unique
- `retrieve_tickets_batch.py` : Script pour extraire des lots de tickets
## Configuration
Toutes les fonctionnalités nécessitent un fichier de configuration `config.json` qui contient les informations de connexion à l'API Odoo :
```json
{
"odoo": {
"url": "https://votre-instance-odoo.com",
"db": "nom_de_la_base",
"username": "utilisateur@exemple.com",
"api_key": "votre_clé_api_ou_mot_de_passe"
},
"output_dir": "output"
}
```
## Commandes disponibles
### Extraction d'un ticket unique
Pour extraire un ticket par son code unique :
```bash
python -m odoo.retrieve_ticket CODE_DU_TICKET [--output DOSSIER] [--config FICHIER_CONFIG] [--verbose]
```
Options :
- `CODE_DU_TICKET` : Code unique du ticket à extraire (obligatoire)
- `--output`, `-o` : Répertoire de sortie (optionnel)
- `--config`, `-c` : Chemin vers le fichier de configuration (par défaut: config.json)
- `--verbose`, `-v` : Active le mode verbeux avec plus de détails
### Extraction par lots
Pour extraire plusieurs tickets qui correspondent à des critères spécifiques :
```bash
python -m odoo.retrieve_tickets_batch batch [options]
```
Options pour la commande `batch` :
- `--domain`, `-d` : Critères de recherche au format spécial (format: field1:op1:value1;field2:op2:value2)
- `--project`, `-p` : ID du projet (raccourci pour "project_id:=:ID")
- `--stage`, `-s` : ID de l'étape/statut (raccourci pour "stage_id:=:ID")
- `--limit`, `-l` : Nombre maximum de tickets à extraire (par défaut: 50)
- `--offset`, `-o` : Index de départ pour la pagination (par défaut: 0)
- `--output` : Répertoire de sortie
- `--include-existing` : Inclure les tickets déjà extraits (par défaut: les tickets déjà extraits sont ignorés)
- `--config`, `-c` : Chemin vers le fichier de configuration (par défaut: config.json)
- `--verbose`, `-v` : Active le mode verbeux
### Lister les projets disponibles
Pour afficher la liste des projets disponibles :
```bash
python -m odoo.retrieve_tickets_batch projects [--config FICHIER_CONFIG]
```
### Lister les étapes/statuts disponibles
Pour afficher la liste des étapes (statuts) disponibles :
```bash
python -m odoo.retrieve_tickets_batch stages [--config FICHIER_CONFIG]
```
## Exemples d'utilisation
### Extraire un ticket spécifique
```bash
# Extraire le ticket avec le code "TS-1234"
python -m odoo.retrieve_ticket TS-1234 --verbose
```
### Extraire des tickets d'un projet spécifique
```bash
# Extraire jusqu'à 20 tickets du projet avec ID 42
python -m odoo.retrieve_tickets_batch batch --project 42 --limit 20
```
### Extraire des tickets avec des critères avancés
```bash
# Extraire les tickets du projet 42 à l'étape 5
python -m odoo.retrieve_tickets_batch batch --domain "project_id:=:42;stage_id:=:5"
# Extraire les tickets ayant une priorité élevée (3)
python -m odoo.retrieve_tickets_batch batch --domain "priority:=:3"
```
## Structure des données extraites
Les données extraites sont organisées dans une structure de répertoires contenant :
- `ticket_info.json` : Informations complètes sur le ticket
- `ticket_summary.json` : Résumé des informations principales
- `all_messages.json` : Messages associés au ticket (format JSON)
- `all_messages.txt` : Messages associés au ticket (format texte)
- `attachments_info.json` : Informations sur les pièces jointes
- Dossier `attachments/` : Contient les pièces jointes téléchargées
- `structure.json` : Description de la structure des fichiers
- `extraction_summary.json` : Résumé de l'opération d'extraction
Pour les extractions par lots, un fichier `batch_summary.json` est également créé à la racine du répertoire, contenant les informations sur les tickets traités, ignorés et en échec.
## Gestion des erreurs
Le système gère plusieurs types d'erreurs :
- Tickets déjà extraits (ignorés si `--include-existing` n'est pas spécifié)
- Tickets sans code unique (ignorés avec un message d'avertissement)
- Erreurs d'extraction (enregistrées dans le journal et dans `batch_summary.json`)
- Erreurs d'authentification (tentatives de reconnexion automatiques)
Les logs détaillés sont disponibles dans les fichiers `retrieve_ticket.log` ou `retrieve_tickets_batch.log`.