You are not logged in.
Bonjour à tous,
J'ai récemment rencontré un problème lors de l'ajout d'un commentaire (ITILFollowup) à un ticket existant dans GLPI, en incluant des fichiers joints. J'utilise l'API REST de GLPI pour effectuer cette opération, mais malgré mes efforts, les fichiers ne sont pas correctement ajoutés au commentaire.
Voici un exemple de la requête cURL que j'utilise actuellement :
curl -X POST \
-H 'Content-Type: multipart/form-data' \
-H "Session-Token: 1234567890" \
-H "App-Token: 1234567890" \
-F 'uploadManifest={"input": {"name": "Document upload", "_filename": ["fichier1.png", "fichier2.pdf"], "itemtype": "Ticket", "items_id": 12345, "content": "Description du document"}};type=application/json' \
-F 'filename[0]=@/chemin_vers_fichier1.png' \
-F 'filename[1]=@/chemin_vers_fichier2.pdf' \
'https://mon_domaine_glpi/apirest.php/ITILFollowup'
Malheureusement, bien que la requête réussisse et renvoie un message indiquant que le déplacement des documents a réussi, les fichiers joints n'apparaissent pas dans l'interface utilisateur de GLPI.
Le commentaire s'affiche bien! Mais non les fichiers.
J'aimerais donc solliciter votre aide pour comprendre ce qui pourrait causer ce problème. Ai-je oublié quelque chose dans ma requête cURL ou y a-t-il des paramètres supplémentaires que je devrais prendre en compte pour que les fichiers soient correctement ajoutés au commentaire ?
Je vous remercie d'avance pour votre aide et vos conseils précieux !
Cordialement,
Jan
Last edited by jcatrysse (2023-06-28 11:48:07)
Offline
J'ai effectué quelques tests supplémentaires et j'ai pu avancer. En réalité, le premier fichier était ajouté avec succès, mais il ne s'affichait pas correctement dans l'interface utilisateur de GLPI. Après investigation, j'ai découvert que les images étaient corrompues à l'origine.
Maintenant, le premier fichier est correctement ajouté à la note. Cependant, une nouvelle question se pose. Bien que j'ajoute plusieurs fichiers à la note grâce à la structure multipart/form-data, je constate que seul le premier fichier est ajouté, tandis que les autres fichiers sont ignorés.
Offline
Apparemment, je dois faire cela en plusieurs étapes.
// FIRST WE ADD A NOTE
curl -X POST \
-H 'Content-Type: application/json' \
-H "Session-Token: 12345" \
-H "App-Token: 12345" \
-d '{"input": {"itemtype": "Ticket", "items_id": 112204, "content": "text lorem ipsum ONLY NOTE"}};type=application/json' \
'https://glpi_url.fr/apirest.php/ITILFollowup'
{"id":42686,"message":""}
// AND AFTERWARD WE ADD A FILE
curl -X POST \
-H 'Content-Type: multipart/form-data' \
-H "Session-Token: 12345" \
-H "App-Token: 12345" \
-F 'uploadManifest={"input": {"name": "Uploaded document", "_filename": ["file1.png"], "itemtype": "ITILFollowup", "items_id": 42686}};type=application/json' \
-F 'filename[0]=@/file1.png' \
'https://glpi_url.fr/apirest.php/Document'
{"id":8684,"message":"Item Successfully Added: Documents: Followups - Followups","upload_result":{"filename":[{"name":"649c00da1fb9c2.22158682file1.png","size":2389,"type":"image/png","url":"https://glpi_url.fr/files/649c00da1fb9c2.22158682file1.png","deleteUrl":"https://glpi_url.fr/apirest.php?filenam=649c00da1fb9c2.22158682file1.png","deleteType":"DELETE","prefix":"649c00da1fb9c2.22158682","display":"file1.png","filesize":"2.33 KB","id":"docfilename464868394"}]}}
// AND AFTERWARD WE ADD ANOTHER FILE
curl -X POST \
-H 'Content-Type: multipart/form-data' \
-H "Session-Token: 12345" \
-H "App-Token: 12345" \
-F 'uploadManifest={"input": {"name": "Uploaded document", "_filename": ["file2.png"], "itemtype": "ITILFollowup", "items_id": 42686}};type=application/json' \
-F 'filename[0]=@/file2.png' \
'https://glpi_url.fr/apirest.php/Document'
{"id":8685,"message":"Item Successfully Added: Documents: Followups - Followups","upload_result":{"filename":[{"name":"649c015855a521.35668050file2.png","size":1458,"type":"image/png","url":"https://glpi_url.fr/files/649c015855a521.35668050file2.png","deleteUrl":"https://glpi_url.fr/apirest.php?filenam=649c015855a521.35668050file2.png","deleteType":"DELETE","prefix":"649c015855a521.35668050","display":"file2.png","filesize":"1.42 KB","id":"docfilename564459629"}]}}
Offline