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 2016-12-28 18:19:21

tilb
Guest
From: CHOLET
Registered: 2008-05-07
Posts: 81
Website

Ajout d'un document à un ticket via l'API REST

Bonjour,
Ma demande concerne l'utilisation de l'API REST de la v9.1.1.
J'utilise déjà le plugin WebService sur la v0.85 sans soucis, mais je cherche à adapter mon script à cette nouvelle API en vue d'un passage en production sur la v9.1.1.
Je cherche à ajouter un document à un ticket au moment de la création de celui-ci. (cela fonctionnait avec le plugin Webservice..)
Je parviens à créer le ticket et l'associer à mon demandeur par une requête POST sur l'url "apirest.php//Ticket/", mais je ne trouve pas comment ajouté un document à ce ticket.
Si quelqu'un à une piste.
Par avance merci,
Florian


GLPI 9.1.2 et FusionInventory 9.1+1.0

Offline

#2 2017-01-06 20:01:13

tilb
Guest
From: CHOLET
Registered: 2008-05-07
Posts: 81
Website

Re: Ajout d'un document à un ticket via l'API REST

Bonjour à tous. Personne n'a de piste apparemment..  mad
bon bah je ne désespère pas, je continue à tester..
Merci


GLPI 9.1.2 et FusionInventory 9.1+1.0

Offline

#3 2017-01-31 09:05:44

Sebastien14
Guest
Registered: 2017-01-31
Posts: 2

Re: Ajout d'un document à un ticket via l'API REST

Bonjour,

Je n'ai pas de piste non plus concernant l'ajout de document par contre j'ai noté que tu avais réussi à associer ton ticket à un demandeur. La documentation n'est pas très détaillée sur le sujet, tu aurais quelques pistes à me donner ?

Merci.

Offline

#4 2017-01-31 10:44:49

tilb
Guest
From: CHOLET
Registered: 2008-05-07
Posts: 81
Website

Re: Ajout d'un document à un ticket via l'API REST

Bonjour,
Effectivement la doc n'est pas très claire à ce sujet et j'ai aussi pas mal tâtonné et fouiné dans le code de l'API pour trouver la propriété qu'il faut ajouter au paramètre "input":

  • _users_id_requester : doit contenir l'ID du demandeur

Bonne continuation,
Florian


GLPI 9.1.2 et FusionInventory 9.1+1.0

Offline

#5 2017-01-31 10:57:39

Sebastien14
Guest
Registered: 2017-01-31
Posts: 2

Re: Ajout d'un document à un ticket via l'API REST

Merci beaucoup pour l'information. Je commençais aussi à regarder du côté du code de l'API, tu m'as fait gagner du temps.

Bonne continuation à toi aussi.

Offline

#6 2017-01-31 12:09:04

tilb
Guest
From: CHOLET
Registered: 2008-05-07
Posts: 81
Website

Re: Ajout d'un document à un ticket via l'API REST

De rien, pour info en me repenchant sur mon PB d'ajout de document, je viens de trouver la solution.
Le scenario:

  • Création du ticket

  • Création du document avec numéro du ticket lié

Mon code;

    //création du ticket
    $options = array("input"=>array(
                    'requesttypes_id'=>7,  //webservices
                    '_users_id_requester'=>$user['id'],
                    'name'=>htmlentities($data['name']),
                    'content'=>htmlentities($data['content']),
                    'category'=>'1',
                    'items_id'=>array($itemtype=>array($item)),
                    'urgency'=>$data['urgency'],
                    'type'=>$data['type']));


    $ticket = sendRestRequest('Ticket', $options, 'POST');
    
    //On quitte si erreur de création
    if (!isset($ticket['id'])) return false;

    //ajout de la PJ si besoin
    if (isset($_FILES['attachment'])) {
        //déplacement de la PJ dans le dossier upload de glpi
        move_uploaded_file($_FILES['attachment']['tmp_name'], $glpi_upload_path.'/'.$_FILES['attachment']['name']);

        //création du document
        $options = array("input"=>array(
                        'name'=>$_FILES['attachment']['name'],
                        'upload_file'=>$_FILES['attachment']['name'],
                        'itemtype'=>'Ticket',
                        'items_id'=>$ticket['id']
                        ));

        $document = sendRestRequest('Document', $options, 'POST');

        //On quitte si erreur de création
        if (!isset($document['id'])) return false;
    }

Ca peut toujours servir !

Bon courage.

Florian


GLPI 9.1.2 et FusionInventory 9.1+1.0

Offline

#7 2017-09-07 11:24:56

Minou08
Guest
Registered: 2017-05-17
Posts: 26

Re: Ajout d'un document à un ticket via l'API REST

Merci Florian, mon problème d'accès au répertoire d'upload reste entier mais au moins j'ai pu voir la structure Document / Document_Item résultante.


GLPI 9.1.4 API REST/Client JavaEE/fusionInventory/Debian 8 Jessie

Offline

Board footer

Powered by FluxBB