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-03-03 20:10:02

nbriche
Member
From: Picardie
Registered: 2011-05-23
Posts: 55

[API REST] Récupérer les acteurs d'un ticket

Bonjour,

Dans la réponse d'une requête pour un ticket, l'API renvoie une liste d'utilisateurs dans 'links', mais pas leur rôle d'acteur. Comment récupérer la liste des demandeurs, des observateurs, des techniciens?

Cordialement,

N.

Offline

#2 2017-03-07 15:42:45

nbriche
Member
From: Picardie
Registered: 2011-05-23
Posts: 55

Re: [API REST] Récupérer les acteurs d'un ticket

Le but est de remplacer ma gestion de tickets maison par un frontend imitant sa mise en forme, mais avec GLPI en backend. La création des tickets ainsi que la liste et le statut des tickets existants seraient gérés par l'API REST. Sauf que là je n'ai pas de moyen d'afficher correctement un ticket, puisque je ne sais pas par API qui l'a créé ni qui le gère.

N.

Offline

#3 2017-03-07 16:07:03

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

Re: [API REST] Récupérer les acteurs d'un ticket

Bonjour,
j'ai exactement la même problématique, avec l'api je peux récupérer le ticket et les acteurs mais je n'arrive pas à savoir qui fait quoi( demandeur ,observateur, technicien).

si quelqu'un a une idée...


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

#4 2017-03-08 10:22:47

nbriche
Member
From: Picardie
Registered: 2011-05-23
Posts: 55

Re: [API REST] Récupérer les acteurs d'un ticket

J'avais vu votre sujet créé en décembre dernier, mais comme il n'y a pas eu de réponse en trois mois j'ai hésité à juste y répondre; j'espère qu'on aura plus de chance cette fois-ci smile

Ou alors créer direct un bug sur GitHub? Je sais pas...

N.

Offline

#5 2017-03-09 16:17:17

nbriche
Member
From: Picardie
Registered: 2011-05-23
Posts: 55

Re: [API REST] Récupérer les acteurs d'un ticket

J'ai ouvert l'issue 1926.

Offline

#6 2017-03-09 16:49:06

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

Re: [API REST] Récupérer les acteurs d'un ticket

j'ai créé une demande, vous pouvez ajouter un +1

http://glpi.userecho.com/topics/509-api … m-tickets/


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 2017-04-27 12:39:48

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

Re: [API REST] Récupérer les acteurs d'un ticket

Bonjour,
Voici comment faire pour récupérer ces informations (j'utilise PHP avec le client REST https://github.com/tcdent/php-restclient).

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

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

Ce code (a adapter bien entendu), vous retournera un tableau d'objets dans lequel se trouveront les utilisateurs et leur "type". Le type correspond à un numéro, voici les correspondances :
- 1 = demandeur,
- 2 = attribué,
- 3 = observateur

Je pense que cela devrait déjà bien vous dépanner.

A+

Last edited by BillyD (2017-04-27 12:40:07)

Offline

#8 2017-04-28 14:35:16

nbriche
Member
From: Picardie
Registered: 2011-05-23
Posts: 55

Re: [API REST] Récupérer les acteurs d'un ticket

Ah oui je confirme, ça marche très bien.

J'ai essayé en utilisant {api_url}/Ticket/[n° ticket]/Ticket_User/ , et j'ai bien le tableau mentionné.

Par exemple pour le ticket 5217 (en passant par du Python):

r = glpi.get('Ticket/5217/Ticket_User/')
pprint(r)

[{'alternative_email': '',
  'id': 8553,
  'links': [{'href': 'http://glpi.ch-peronne.lan/apirest.php/Ticket/5217',
             'rel': 'Ticket'},
            {'href': 'http://glpi.ch-peronne.lan/apirest.php/User/37',
             'rel': 'User'}],
  'tickets_id': 5217,
  'type': 1,
  'use_notification': 0,
  'users_id': 37},
 {'alternative_email': '',
  'id': 8571,
  'links': [{'href': 'http://glpi.ch-peronne.lan/apirest.php/Ticket/5217',
             'rel': 'Ticket'},
            {'href': 'http://glpi.ch-peronne.lan/apirest.php/User/6',
             'rel': 'User'}],
  'tickets_id': 5217,
  'type': 2,
  'use_notification': 1,
  'users_id': 6}]

Excellent tip, merci!

Du coup je vais de ce pas mettre à jour le bug que j'ai ouvert sur Github.

N.

Offline

#9 2017-04-30 22:10:44

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

Re: [API REST] Récupérer les acteurs d'un ticket

oui ça marche : merci !

avec l'url :

$url="http://www.glpi.monDomaine.fr/apirest.php/Ticket/" . $ticket_id . "/Ticket_user?Content-Type=%20application/json&app_token=".$app_token ."&session_token=".$sess_token;


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

Board footer

Powered by FluxBB