You are not logged in.
Bonjour,
J'ai migré de serveur depuis la version 9.5.0 de GLPI, je ne sais donc pas si cela est lié à la maj de GLPI ou de serveur Linux Debian ou autres.
J'ai un script qui ajoute des infos via l'API dans des champs supplémentaire grace au plugins "Champs Supplémentaires"
J'ai un retour 500 Internal Server Error lorsque j'interroge l'API.
Log du ngninx:
PHP message: PHP Fatal error: Cannot declare class PluginFieldsComputerpropritaire, because the name is already in use in /var/www/xxxxx/files/_plugins/fields/inc/computerpropritaire.class.php on line 59"
Serveur Debian 10.4 - Ngninx - Php 7.3
J'ai testé sur le même serveur avec une installation neuf de glpi, idem même soucis.
J'ai supprimé les fichiers dans /files/_plugins/fields/ et cliqué sur "Régénérer les fichiers blocs", idem même soucis
Si quelqu'un a une idée ? merci beaucoup.
Last edited by windrake_nc (2020-08-03 11:18:45)
Offline
Bonjour, si un contributeur a un exemple d'API qui fonctionne avec le plugin Fields et glpi 9.5.1 svp.
Merci
Offline
Bonjour,
J'utilise GLPI 9.5.1 et le plugin Fields 1.11.0
J'arrive à mettre à jour les champs d'un bloc créé via le plugin en utilisant l'API avec une commande curl de base comme décrite dans la doc de l'API.
En pratique:
curl -X PUT \
-H 'Content-Type: application/json' \
-H "Session-Token: $session_token" \
-H "App-Token: $app_token" \
-d '{"input": {"id": 1, "champonefield": "100"}}' \
"${glpi_api_url}/Project/"
en remplaçant les variables par les valeurs correspondantes.
Si vous faites une requête de type GET listSearchOptions/:itemtype/, vous retrouvez bien vos champs supplémentaires?
Offline
Bonjour, désole je n'avais pas vue la réponse.
Oui avec un listSearchOptions/Computer/ je voie bien mes champs supplémentaire
Mais lorsque je fais un
https://srvglpi/apirest.php/PluginFieldsComputerpropritaire?input[0][id]=4&input[0][macfield]=TEST
j'ai une erreur 500.
Je comprends pas. J'ai testé sur une installation propre de GLPI. la requête marchais avant j'ai tout vérifier mais je passe à coté de quelque chose.
Merci
Offline
Bonjour,
je rencontre exactement la même erreur sur les champs créés via le PluginFields 1.11.0 avec GLPI 9.5
Cela fonctionnait avant la mise à jour de GLPI et du plugin Fields.
Quand je fais un GET sur un champ créé avec le Plugin Field : curl -s -X GET -H 'Content-Type: application/json' -H "Session-Token: $token" 'http://xxxx/glpi/apirest.php/PluginFieldsDpartementfieldDropdown/
Je ne récupère aucune valeur alors que si je fais un Get sur un champ Intitulé classique (par exemple les lieux) :
curl -s -X GET -H 'Content-Type: application/json' -H "Session-Token: $token" 'http://xxxx/glpi/apirest.php/location/
Là je récupère toutes les valeurs de la table location.
Il y a donc visiblement un bug avec les nouvelles version du coupe GLPI/Fields
Y'aura t'il prochainement un correctif ?
Offline
Bonjour,
Je viens de refaire le test sur une installation propre de GLPI 9.5.2 et toujours le même soucis. Je n'arrive pas a ajouter ou modifier via l'API un champs personnalisé sur Computer.
Je n'ai plus d'idée de tests...
Offline
Hello,
J'ai rencontré exactement le même problème.
- PluginFields 1.12.0
- GLPI 9.5.3
- PHP 8.0
J'ai réussi à faire fonctionner l'API en modifiant le fichier \plugins\fields\inc\autoload.php.
Dans la fonction autoload(), à la ligne 57, remplacer la ligne
return include($test);
par
return include_once($test);
Je n'ai plus d'erreur 500 et les champs custom s'udatent correctement via l'API.
Il s'agit d'un workaround et non de la résolution officielle, mais si ca peut aider...
Offline
Bonjour,
Je viens de faire le test et effectivement ça fonctionne comme avant. Merci eddiegordo pour l'astuce.
Offline
It works for me too! Hope this can be fixed officially.
Offline