You are not logged in.
Pages: 1
Bonjour,
Je rencontre un problème lors de l'utilisation de l'API.
Lorsque j'essaie de créer une entité via cette requête POST :
http//10.35.50.88/apirest.php/Entity/
{
"input": {
"name": "test",
"entities_id": 0
}
}
Cela créer bien l'entité test enfant de l'entité racine.
Cependant lorsque j'essaie de créer une entité enfant de test :
{
"input": {
"name": "test",
"entities_id": 1
}
}
J'ai ce résultat :
[
"ERROR_GLPI_ADD",
"Vous n'avez pas les droits requis pour réaliser cette action."
]
J'utilise bien le user_token d'un utilisateur super admin.
Last edited by Tempa (2023-11-08 16:36:15)
Offline
avez vous un profil récursif ?
avez vous changé d'entité ( aller dans l'entité id=1) avant de creer l'entité fille ?
Trouver la panne avant de réparer...
GLPI10.0.16 (ubuntu 22.04 PHP8.1 Mariadb10.6 ) plugins : comportements 2.7.3 reports 1.16.0 formcreator 2.13.9, datainjection 2.13.5 fields 1.21.9
Offline
Même en utilisant
?is_recursive=true
ou
"with_recursive": true
J'ai le meme résultat..
J'utilise une vm de test avant de mettre en production j'utilise donc le token de l'user glpi (super admin recursif) qui a tout les droits sur toutes les entités.
Offline
même avec l'interface graphique, quand je crée une entité, je ne peux pas immédiatement l'ouvrir, je dois recharger mon profil puis ça marche, j'imagine que c'est pareil avec l'API;
Trouver la panne avant de réparer...
GLPI10.0.16 (ubuntu 22.04 PHP8.1 Mariadb10.6 ) plugins : comportements 2.7.3 reports 1.16.0 formcreator 2.13.9, datainjection 2.13.5 fields 1.21.9
Offline
Personnellement je dois cliquer Super-Admin en haut à droite, Entité racine (Arborescence), et cliquer sur l'icone à droite de Entité racine (il ressemble à ça : ">>") (+ ses sous entité) pour éditer dans la sous entité mais justement je ne vois pas comment faire avec l'API.
Offline
changer d'entité :
*** url***
http://localhost/glpi/apirest.php/changeActiveEntities/
***********fields*********
{"input": { "entities_id": 2,"is_recursive": 1 }}
Trouver la panne avant de réparer...
GLPI10.0.16 (ubuntu 22.04 PHP8.1 Mariadb10.6 ) plugins : comportements 2.7.3 reports 1.16.0 formcreator 2.13.9, datainjection 2.13.5 fields 1.21.9
Offline
Merci beaucoup cela fonctionne...
Cependant je ne trouve aucun moyen de créer une règle d'affectation a une entité via tag avec l'API...
Si vous avez une idée je suis preneur.
Last edited by Tempa (2023-11-14 12:53:56)
Offline
j'utiliserais les expressions rationnelles si mon entité s'appelle E1, j'affecte un TAG E1 aux agents desu matériel de l'entité et je crée une unique règle :
critère : Tag d'inventaire >expression rationnelle vérifie > /(.+)/
action : Entité depuis TAG > Assigner valeur depuis l'expression régulière > #0
mais dans ce cas plus besoin de creer des règles par l'API, une seule règle suffit.
Trouver la panne avant de réparer...
GLPI10.0.16 (ubuntu 22.04 PHP8.1 Mariadb10.6 ) plugins : comportements 2.7.3 reports 1.16.0 formcreator 2.13.9, datainjection 2.13.5 fields 1.21.9
Offline
Désolé mais je ne comprend pas très bien..
J'ai réaliser une script python (mtn en exe) qui permet de créer des entités (en gros nos clients) Comme-ci :
- Entité racine
-$nomclient - $code
- Ordinateurs
- Serveurs
- Copieurs
- etc...
L'objectif maintenant est de créer les règles d'affectation pour et par client.
Donc si je créer un client, il y a une règle d'affectation via tag qui est créer également.
Ensuite je configure également l'agent glpi msi avec le bon TAG.
par exemple je créer le client test - 0000
Il y aura la sous entités test - 0000 > ordinateurs
une règle d'affectation sera créer, le critère sera TAG contient : ordinateurstest
Et l'action sera mettre dans l'entité entité racine > test - 0000 > ordinateurs
je ne sais pas si je suis clair..
Offline
je vois bien l'intérêt de l'entité test-0000 correspondant à un client mais je ne comprends pas pourquoi une sous entité ordinateur
les ordinateurs sont déjà isolés dans l'inventaire par le "type" d'objet . en vous mettant dans l'entité client et sur le menu ordinateur vous ne verrez que ses ordinateurs.
Trouver la panne avant de réparer...
GLPI10.0.16 (ubuntu 22.04 PHP8.1 Mariadb10.6 ) plugins : comportements 2.7.3 reports 1.16.0 formcreator 2.13.9, datainjection 2.13.5 fields 1.21.9
Offline
C'est pour ne pas avoir les serveurs au même endroit que les ordinateurs. Mais cela reste du organisationnel...L'entité test - 0000 reste la principale nous descendons rarement dans ses sous entité..
Je souhaite savoir s'il est possible de créer des règles d'affectations via l'API ça me permettrait de ne pas répéter les tâches 10 fois par clients... Ou si une autres solution existe pour n'avoir qu'une règle comme vous l'avez mentionner mais je 'nai pas compris..
Offline
http/10.35.50.88/apirest.php/RuleImportEntity
via cette url jy arrive bien mais le critère et action n'est pas pris en compte j'ai juste le nom..
Last edited by Tempa (2023-11-15 11:30:03)
Offline
J'utiliserais les expressions rationnelles si mon entité s'appelle E1, j'affecte un TAG E1 aux agents du matériel de l'entité et je crée une unique règle :
critère : Tag d'inventaire >expression rationnelle vérifie > /(.+)/
action : Entité depuis TAG > Assigner valeur depuis l'expression régulière > #0
Une seule règle suffit. (à créér dans l'interface graphique)
vous indiquez le tag dans l'entité lors de sa création, vous mettez le même tag dans l'agent d'inventaire.
et la règle fonctionne à tous les coups, pas besoin de creer une règle par client
Trouver la panne avant de réparer...
GLPI10.0.16 (ubuntu 22.04 PHP8.1 Mariadb10.6 ) plugins : comportements 2.7.3 reports 1.16.0 formcreator 2.13.9, datainjection 2.13.5 fields 1.21.9
Offline
D'accord magnifique, je viens de tester et cela fonctionne parfaitement...
Merci encore pour l'aide..
Mon problème est résolu
Last edited by Tempa (2023-11-15 16:15:53)
Offline
Pages: 1