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 2017-04-26 11:09:58

jonalex
Member
Registered: 2017-04-26
Posts: 23

[GLPI 9.1.2] Nouveau Ticket APIREST

Bonjour,

Je n'ai pas trouvé d'info sur l'utilisation de l'API REST pour créer un ticket,

est-ce que quelqu'un a déjà réussi à le faire ?

Merci par avance pour vos réponses

Offline

#2 2017-04-27 16:04:41

Alescay
Member
Registered: 2017-04-27
Posts: 13

Re: [GLPI 9.1.2] Nouveau Ticket APIREST

Tu peux grâce à la méthode addItem.

https://glpi-test.sqli.com/apirest.php/#add-items

Offline

#3 2017-04-27 19:34:20

jonalex
Member
Registered: 2017-04-26
Posts: 23

Re: [GLPI 9.1.2] Nouveau Ticket APIREST

Merci pour ta réponse

Mais quels sont les champs que l'on doit utilisé ? Il n'y a pas de détails pour les tickets,

Offline

#4 2017-04-28 09:37:41

Alescay
Member
Registered: 2017-04-27
Posts: 13

Re: [GLPI 9.1.2] Nouveau Ticket APIREST

Aucune idée, je cherche aussi.
Du coup ça serait cool de poster la réponse ici si tu trouves smile

Offline

#5 2017-05-10 14:47:11

BillyD
Member
From: Nice, France
Registered: 2015-08-26
Posts: 27
Website

Re: [GLPI 9.1.2] Nouveau Ticket APIREST

Bonjour,
Il y a déjà plusieurs questions à ce sujet qui ont obtenus des réponses. Notamment le dernier sujet auquel j'ai répondu :
http://forum.glpi-project.org/viewtopic.php?id=156794

En rassemblant les informations vous pourrez facilement trouver comment faire.

A+

Offline

#6 2017-05-10 14:55:04

jonalex
Member
Registered: 2017-04-26
Posts: 23

Re: [GLPI 9.1.2] Nouveau Ticket APIREST

Bonjour,

Merci pour ces informations,

Je suis tombé sur ce sujet ce matin, et j'ai réussi à créer un ticket.

Maintenant je rencontre 2 difficultés :

1) Comment associé un ordinateur au ticket créé ?
2) J'utilise un compte dédié pour l'API, pour ne pas stocker les token de tous les utilisateurs, je souhaiterais donc en créant mon ticket, être en mesure de remplacer le demandeur, pour le moment je réussi juste à ajouter un demandeur grâce à votre réponse dans l'autre sujet, mais je ne sais pas comment supprimer le demandeur qui est mon compte "api"

Merci par avance

Offline

#7 2017-05-10 15:25:22

BillyD
Member
From: Nice, France
Registered: 2015-08-26
Posts: 27
Website

Re: [GLPI 9.1.2] Nouveau Ticket APIREST

Aucune idée. Je ne suis qu'au début de la création de notre interface et je bloque là dessus aussi.
J'essaye aussi de "transferer" un ticket déjà créé vers une autre entité mais je patauge...

Si vous trouvez n'hésitez pas à partager. De même pour moi... Je travaille activement dessus.

Offline

#8 2017-05-10 15:41:21

jonalex
Member
Registered: 2017-04-26
Posts: 23

Re: [GLPI 9.1.2] Nouveau Ticket APIREST

Pas de soucis, je vais regarder car ça peut m’intéresser aussi.

Avez-vous déjà utilisé la recherche ? Je tente une recherche d'ordinateur par entité. Mais j'obtiens toujours 0...

Offline

#9 2017-05-11 13:58:00

BillyD
Member
From: Nice, France
Registered: 2015-08-26
Posts: 27
Website

Re: [GLPI 9.1.2] Nouveau Ticket APIREST

Non, pas encore. Je travaille essentiellement sur les tickets pour le moment.

Offline

#10 2017-05-11 15:16:10

jonalex
Member
Registered: 2017-04-26
Posts: 23

Re: [GLPI 9.1.2] Nouveau Ticket APIREST

Bonjour,

Pour info j'ai réussi à résoudre mon problème http://forum.glpi-project.org/viewtopic.php?id=157640

Offline

#11 2017-05-11 15:38:11

BillyD
Member
From: Nice, France
Registered: 2015-08-26
Posts: 27
Website

Re: [GLPI 9.1.2] Nouveau Ticket APIREST

Déjà un problème de résolu.
Concernant le problème de changement d'entité d'un ticket, je me suis rabattu sur une requête en base directement, en attendant de trouver la solution (la deadline approche...).
La suppression d'un demandeur sans l'API peut se faire aussi par la base mais je ne trouve pas ça propre (idem pour l'entité, les logs ne sont pas ajoutés, etc.).

Offline

#12 2017-05-11 16:32:00

jonalex
Member
Registered: 2017-04-26
Posts: 23

Re: [GLPI 9.1.2] Nouveau Ticket APIREST

Vous avez réussi à associer un ordinateur avec un ticket via l'API ?

Offline

#13 2017-05-11 16:35:00

BillyD
Member
From: Nice, France
Registered: 2015-08-26
Posts: 27
Website

Re: [GLPI 9.1.2] Nouveau Ticket APIREST

Je viens juste de réussir (il n'y a même pas 5 minutes ^^).

Il faut d'abord avoir son identifiant qui peut être obtenu en le cherchant par son nom :

$api = new RestClient(
        [
            "base_url"    => $api_url,
            "headers"    => [
                "Session-Token"    => $sess_token,
                "App-Token"        => $app_token
            ],
            "parameters" => [
                "get_hateoas" => FALSE,
                "searchText" => [
                    "name" => $computer_name
                ]
            ],
        ]
    );

    $result = $api->get("Computer");

Et ensuite, l'ajouter :

$api = new RestClient(
        [
            "base_url"    => $api_url,
            "headers"    => [
                "Session-Token"    => $sess_token,
                "App-Token"        => $app_token
            ],
            "parameters" => [
                "input" => [
                    [
                        "tickets_id"        => $ticket_id,
                        "itemtype"            => "Computer",
                        "items_id"            => $computer
                    ]
                ]
            ],
        ]
    );

    $result = $api->post("Item_Ticket");

Je n'ai pas testé de lier un ordinateur déjà lié pour voir le comportement.

EDIT : J'ai essayé de lier un ordinateur déjà présent dans le ticket et ça fonctionne. Aucun message dans les logs et pas d'erreur.

Last edited by BillyD (2017-05-11 16:46:58)

Offline

#14 2017-05-11 17:02:37

jonalex
Member
Registered: 2017-04-26
Posts: 23

Re: [GLPI 9.1.2] Nouveau Ticket APIREST

Je viens d'essayer en C# aussi, et ça marche nickel smile

Je peux donc ajouter mes éléments

Offline

#15 2017-05-11 17:05:57

BillyD
Member
From: Nice, France
Registered: 2015-08-26
Posts: 27
Website

Re: [GLPI 9.1.2] Nouveau Ticket APIREST

Reste plus qu'à voir comment supprimer un demandeur.
Et pour moi, changer l'entité ^^

Last edited by BillyD (2017-05-11 17:06:04)

Offline

#16 2017-05-13 13:45:01

jonalex
Member
Registered: 2017-04-26
Posts: 23

Re: [GLPI 9.1.2] Nouveau Ticket APIREST

Bonjour,

J'ai réussi à changer l'entité d'un ticket :-)

Je l'ai fait en C#, mais en gros voici le principe.

Il faut faire une Requête de type PUT et non de type GET ou POST

Puis préciser l'id du ticket + l'id de l'entité de destination

ça doit donner à peu près ça je pense

$api = new RestClient(
        [
            "base_url"    => $api_url,
            "headers"    => [
                "Session-Token"    => $sess_token,
                "App-Token"        => $app_token
            ],
            "parameters" => [
                "input" => [
                    [
                        "id"        => $ticket_id,
                        "entities_id"            => "$entitie_id",
                    ]
                ]
            ],
        ]
    );

    $result = $api->put("Ticket");

J'espère que ça fonctionnera pour toi !

Modif : Pour info, si un ordinateur est associé au ticket, quand tu vas changer l'entité de ton ticket, la liaison avec l'ordinateur sera conservée même si il n'appartient pas à l'entité de destination

Modif 2 : Et j'ai aussi réussi à modifier le demandeur :-)

Last edited by jonalex (2017-05-13 13:48:37)

Offline

#17 2017-05-16 13:35:12

BillyD
Member
From: Nice, France
Registered: 2015-08-26
Posts: 27
Website

Re: [GLPI 9.1.2] Nouveau Ticket APIREST

Hello ! Merci pour ton retour.

Mon planning a été un peu chamboulé avec les derniers événements, c'est pour ça que j'ai mis un peu de temps à répondre.

J'avais déjà essayé comme ça mais ça ne fonctionne pas de mon côté... Peux-tu me transmettre ton bout de code C# pour le changement d'entité. J'ai du oublier quelque chose, ça ne me donne pas d'erreur et ça ne me retourne pas de résultat.

...
[handle] => Resource id #9
[response] => []
...
[response_status_lines] => Array
(
[0] => HTTP/1.1 200 OK
)
...

Pour le changement d'entité et la conservation du PC, ça doit agir comme l'interface, du coup, ça me semble logique qui conserve les éléments liés. En espérant que ça ne change pas.

Pour le demandeur, tu as du bidouiller ou une requête directe peut le faire ?

Last edited by BillyD (2017-05-16 13:37:12)

Offline

Board footer

Powered by FluxBB