diff --git a/__pycache__/ticket_manager.cpython-312.pyc b/__pycache__/ticket_manager.cpython-312.pyc index d8d1df6..0ec0758 100644 Binary files a/__pycache__/ticket_manager.cpython-312.pyc and b/__pycache__/ticket_manager.cpython-312.pyc differ diff --git a/exported_tickets/ticket_T10929_raw.json b/exported_tickets/ticket_T10929_raw.json new file mode 100644 index 0000000..1ba3ba8 --- /dev/null +++ b/exported_tickets/ticket_T10929_raw.json @@ -0,0 +1,3 @@ +[ + 10908 +] \ No newline at end of file diff --git a/ticket_manager.py b/ticket_manager.py index ac6b522..1d7e1a9 100644 --- a/ticket_manager.py +++ b/ticket_manager.py @@ -40,7 +40,15 @@ class TicketManager: except Exception as e: print_error(f" Erreur inattendue lors de '{method}' sur '{model}': {e}") return None - + + def get_model_fields(self, model_name): + """Récupére tous les champs disponibles pour un modèle donné""" + fields_info = self._safe_execute(model_name, 'fields_get', [], ['name']) + if not fields_info: + print_error(f"Impossible de récupérer les champs pour {model_name}") + return [] + return list(fields_info.keys()) #Retourne la liste des champs + def save_raw_ticket_data(self, ticket_data, filename="raw_ticket_data.json"): """Sauvegarde les données brutes du ticket dans un fichier JSON""" file_path = os.path.join(EXPORT_DIR, filename) @@ -50,7 +58,7 @@ class TicketManager: def get_ticket_by_id(self, ticket_id): """ Récupère les détails d'un ticket par son ID et applique le filtre """ - fields_to_read = ['id', 'name', 'code', 'stage_id', 'project_id', 'date_deadline', 'description', 'message_ids'] + fields_to_read = self.get_model_fields(self.model_name) #Récupère tous les champs disponibles pour le modèle # Récupérer les données du ticket ticket_data = self._safe_execute(self.model_name, 'read', [ticket_id], fields_to_read)