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

4.8 KiB

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 :

{
  "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 :

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 :

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 :

python -m odoo.retrieve_tickets_batch projects [--config FICHIER_CONFIG]

Lister les étapes/statuts disponibles

Pour afficher la liste des étapes (statuts) disponibles :

python -m odoo.retrieve_tickets_batch stages [--config FICHIER_CONFIG]

Exemples d'utilisation

Extraire un ticket spécifique

# Extraire le ticket avec le code "TS-1234"
python -m odoo.retrieve_ticket TS-1234 --verbose

Extraire des tickets d'un projet spécifique

# 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

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