# 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`.