You are not logged in.

Announcement

 Téléchargez la dernière version stable de GLPI      -     Et vous, que pouvez vous faire pour le projet GLPI ? :  Contribuer
 Download last stable version of GLPI                      -     What can you do for GLPI ? :  Contribute

#1 2023-11-08 16:31:16

Tempa
Member
Registered: 2023-11-08
Posts: 9

API rest création d'entité

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

#2 2023-11-08 16:38:22

LaDenrée
HELPER
Registered: 2012-11-19
Posts: 6,168

Re: API rest création d'entité

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.10 (ubuntu 22.04 PHP8.1  Mariadb10.6 ) plugins : comportements 2.7.2 reports 1.16.0 formcreator 2.13.8, datainjection 2.13.4 fields 1.21.6

Offline

#3 2023-11-08 16:46:09

Tempa
Member
Registered: 2023-11-08
Posts: 9

Re: API rest création d'entité

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

#4 2023-11-08 17:20:31

LaDenrée
HELPER
Registered: 2012-11-19
Posts: 6,168

Re: API rest création d'entité

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.10 (ubuntu 22.04 PHP8.1  Mariadb10.6 ) plugins : comportements 2.7.2 reports 1.16.0 formcreator 2.13.8, datainjection 2.13.4 fields 1.21.6

Offline

#5 2023-11-08 17:33:20

Tempa
Member
Registered: 2023-11-08
Posts: 9

Re: API rest création d'entité

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

#6 2023-11-08 17:52:01

LaDenrée
HELPER
Registered: 2012-11-19
Posts: 6,168

Re: API rest création d'entité

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.10 (ubuntu 22.04 PHP8.1  Mariadb10.6 ) plugins : comportements 2.7.2 reports 1.16.0 formcreator 2.13.8, datainjection 2.13.4 fields 1.21.6

Offline

#7 2023-11-14 12:51:37

Tempa
Member
Registered: 2023-11-08
Posts: 9

Re: API rest création d'entité

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

#8 2023-11-14 12:59:21

LaDenrée
HELPER
Registered: 2012-11-19
Posts: 6,168

Re: API rest création d'entité

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.10 (ubuntu 22.04 PHP8.1  Mariadb10.6 ) plugins : comportements 2.7.2 reports 1.16.0 formcreator 2.13.8, datainjection 2.13.4 fields 1.21.6

Offline

#9 2023-11-14 13:10:45

Tempa
Member
Registered: 2023-11-08
Posts: 9

Re: API rest création d'entité

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

#10 2023-11-14 14:56:39

LaDenrée
HELPER
Registered: 2012-11-19
Posts: 6,168

Re: API rest création d'entité

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.10 (ubuntu 22.04 PHP8.1  Mariadb10.6 ) plugins : comportements 2.7.2 reports 1.16.0 formcreator 2.13.8, datainjection 2.13.4 fields 1.21.6

Offline

#11 2023-11-14 15:41:14

Tempa
Member
Registered: 2023-11-08
Posts: 9

Re: API rest création d'entité

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

#12 2023-11-15 11:07:55

Tempa
Member
Registered: 2023-11-08
Posts: 9

Re: API rest création d'entité

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

#13 2023-11-15 11:53:09

LaDenrée
HELPER
Registered: 2012-11-19
Posts: 6,168

Re: API rest création d'entité

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.10 (ubuntu 22.04 PHP8.1  Mariadb10.6 ) plugins : comportements 2.7.2 reports 1.16.0 formcreator 2.13.8, datainjection 2.13.4 fields 1.21.6

Offline

#14 2023-11-15 12:20:19

Tempa
Member
Registered: 2023-11-08
Posts: 9

Re: API rest création d'entité

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

Board footer

Powered by FluxBB