Utiliser le webservice de Mantis
Mantis est un ce qu’on appelle un bugtracker, ou autrement dit une application permettant la gestion de tickets de bogues… Je vais vous présenter ici comment se servir du webservice qu’intègre nativement l’application Mantis…
Installation de Mantis
Tout d’abord, téléchargez donc la dernière version de Mantis sur le site officiel -> http://www.mantisbt.org/download.php
Une fois l’archive téléchargé, décompressez la sur votre serveur ou Wamp/Lamp/Mamp, c’est vous qui voyez… Pour ma part, ce sera sur Wamp sous Windows donc dans mon dossier /www.
Direction phpmyadmin, on créer une base de données ‘mantis’ pour y loger les tables de l’application.
Puis lancement de l’installation via le navigateur -> http://votreserveur.com/mantis, pour moi: http://localhost/mantis Renseignez tout les champs, identifiant de connexion à la base de données, adresse du serveur de base de données etc…
Puis pour finir un petit clic sur le bouton de validation.
Un dernier clic sur le lien vers l’administration en haut à gauche et on peut enfin se connecter sur l’administration de Mantis.
Le couple login/password par défaut pour accéder a l’interface admin de mantis est:
Login: administrator
password: root
Et l’administration s’ouvre à vous ! Si vous voulez une interface en français, vous pouvez le définir dans les préférence de votre compte -> account -> preference.
Si vous lisez cet article, je suppose que vous savez ce qu’est un bugtracker ou que vous en avez le besoin et que donc encore une fois, que vous savez ce qu’est un bugtracker… Aussi je vais directement attaquer avec le webservice
.
Soap et webservice
Si vous ne savez pas ce qu’est SOAP, direction -> http://fr.wikipedia.org/wiki/SOAP
Si vous ne savez pas ce qu’est WSDL, direction -> http://fr.wikipedia.org/wiki/Web_Services_Description_Language
Dans un premier temps, nous allons créer une classe permettant de récupérer une instance de soapClient.
Classe « class.soapclient.php« :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | <?php /** * @author Carricart Jimmy * @package webservice Mantis */ abstract class mc_soapClient { /** * Instance soapClient * * @static * @var stdClass */ private static $_instance; /** * Url du wsdl de mantis * */ const WSDL = 'http://localhost/mantis/api/soap/mantisconnect.php?wsdl'; private function __construct() { } private function __clone() { } /** * Renvoie l'instance d'un client soap * * @param array $auth * @return stdClass */ public static function getInstance() { if(!isset(self::$_instance)) { self::$_instance = new SoapClient(self::WSDL); } return self::$_instance; } } ?> |
Cette classe utilise le design pattern Singleton et retourne une instance de notre client soap. Utilisons à présent notre client soap pour dialoguer avec le serveur de Mantis et ainsi réaliser une opération simple, ajouter un projet.
Le fichier ‘addProject.php‘ :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | <?php require('class/class.soapclient.php'); $client = mc_soapClient::getInstance(); $auth = array( 'username' => 'administrator', 'password' => 'root' ); $data = array( 'name' => 'Projet webservice Mantis', 'status' => 10, 'enabled' => 1, 'view_state' => 10, 'access_min' => 10, 'description' => 'Projet webservice ajouté via le webservice de Mantis' ); $add = $client->__soapCall('mc_project_add', array($auth['username'], $auth['password'], $data)); print_r($add); |
Ce script nous retourne l’ID du projet venant d’être créé.
Et voila rien de plus, les différentes méthodes fournies dans le webservice de Mantis fonctionnent pratiquement toute de la même manière… Vous pouvez bien entendu vous rendre sur le site de Mantis pour la liste des différentes méthodes fournies.
Bonne utilisation du webservice !
Mots-clefs :bugtracker, mantis, soap, webservices
Laissez un commentaire