Problème de connexion SQUASH - Mantis

Répondre
hpetitjean
Messages : 5
Inscription : jeu. juil. 20, 2023 2:14 pm

Problème de connexion SQUASH - Mantis

Message par hpetitjean »

Bonjour,

Nous cherchons à interconnecter SQUASH à Mantis, mais nous avons systématiquement une erreur lors de la connexion à Mantis depuis SQUASH.

Notre configuration est la suivante :
Mantis :
- MantisBT Version 2.25.7
- Schema Version 211
- PHP Version 7.3.27
- Database Driver mysqli
- Database Version, Description 5.7.29, 5.7.29

SQUASH :
- Version : 4.1.0.RELEASE
- Plugins installés :
  • plugin.api.rest.core-4.1.0.RELEASE.jar
    plugin.api.rest.services-4.1.0.RELEASE.jar
    plugin.bugtracker.mantisrest-4.0.2.RELEASE.jar
    plugin.requirement.xsquash4jira-4.1.0.RELEASE.jar
    report.books.requirements.editable-4.0.0.RELEASE.jar
    report.books.testcases.editable-4.0.0.RELEASE.jar
    report.qualitativecoverage-4.0.0.RELEASE.jar
Remarques :
- SQUASH et Mantis ne sont pas installés sur le même serveur
- Nous utilisons la version Windows de SQUASH (enregistré comme un service Windows)
- Les deux applications sont en http


Dans SQUASH, nous avons configuré un bugtracker de type Mantis (en suivant la doc https://tm-en.doc.squashtest.com/v4/adm ... erver.html) avec la config suivante :
config bugtracker
config bugtracker
config-bugtracker.png (38.89 Kio) Consulté 1286 fois
Nous avons ensuite lié le bugtracker à un projet et générer un token d'authentification sous Mantis (toujours comme indiqué dans le documentation SQUASH).
Dans une campagne de test, quand on clique sur le bouton "Anomalies connues", il faut s’authentifier avec un token :
squash-anomalie
squash-anomalie
squash-anomalie.png (27.41 Kio) Consulté 1286 fois
On renseigne le token généré sur Mantis et au moment de cliquer sur le bouton confirmer, on obtient le message "Echec de la connexion, veuillez saisir vos identifiants à nouveau."

Vous trouvez en PJ le log SQUASH complet, mais voici le message d'erreur :

SquashTM - 4428 ERROR [http-nio-8080-exec-1] [ServletWebRequest: uri=/squash/backend/servers/2/authentication;client=10.0.0.110;session=E53DF7669BD04897E42E3AA4E1237ACB;user=admin_dpdx] --- org.squashtest.tm.web.backend.exceptionresolver.HandlerExceptionLogger: An exception occured while processing request : http://xxxxx/squash/backend/servers/2/authentication
org.squashtest.csp.core.bugtracker.core.BugTrackerRemoteException: Une erreur est survenue : Could not extract response: no suitable HttpMessageConverter found for response type [class org.squashtest.tm.plugin.bugtracker.mantis.internal.client.model.User] and content type [text/html;charset=UTF-8]


Nous n'arrivons pas à comprendre d'où vient le problème. Nous avons vérifié que le module PHP_SOAP est bien activé sur le serveur Mantis. Et depuis le serveur SQUASH nous arrivons bien à acceder au serveur Mantis.

Merci d'avance pour votre aide et bonne journée
Pièces jointes
logSQUASH.log
log d'erreur lors de la tentative de connexion à Mantis depuis SQUASH
(23.98 Kio) Téléchargé 22 fois
xdevroedt
Messages : 11
Inscription : jeu. janv. 19, 2023 2:29 pm

Re: Problème de connexion SQUASH - Mantis

Message par xdevroedt »

Bonjour,


Dans le paramétrage de votre serveur de bugtracker, il faut que l'URL renseignée soit la plus courte possible. Est-ce qu'en supprimant le </login_page.php> puis en cliquant sur le bouton situé à côté du champ, vous parvenez à atteindre la page d'accueil de votre Mantis ?

Par ailleurs, depuis la version 4.0.0 de Squash, le plugin Mantis est basé sur l'API REST de Mantis. Il remplace le connecteur Mantis SOAP qui n'est plus disponible avec la version 4.0 de Squash TM.
L'utilisation de l'API rest nécessite désormais qu'un token soit utilisé, et c'est donc bien le protocole token authentication qui doit être utilisé et que le basic auth n'est plus disponible.
Il convient de rétablir le token authentication pour le bugtracker Mantis.

Chaque utilisateur devra générer son propre token depuis son compte dans Mantis.
Par ailleurs, si vous choisissez l'option 'Les utilisateurs s'authentifient eux-mêmes', il n'est pas nécessaire de remplir le champ Token dans la configuration du serveur.


La communication entre Mantis et Squash, historiquement basée sur l’API SAOP de Mantis, se fait, depuis la version 4 de Squash via l’API REST de Mantis.

Cette API doit être activée dans les fichiers de configuration Mantis.

1/ Vérifier que l'API Rest est bien activée depuis un navigateur & être authentifié à Mantis depuis une session sur le même navigateur par exemple


Vous pouvez vérifier rapidement si celle-ci est active en faisant : URLdeVotreMantis/mantis/api/rest/issues/ ou URLdeVotreMantis/api/rest/issues/ . La requête doit renvoyer l'ensemble des issues Mantis de l'instance.

Si la page ne renvoie rien il faudra alors configurer l'API rest.

2/ Activation de l'API REST

Selon la version de votre Mantis, la variable $g_webservice_rest_enabled peut être activée par défaut. Si ce n'est pas le cas il faudra l'ajouter ou la décommenter dans les fichiers de configuration. Vous trouverez ci joint le lien vers la page de guide pour Mantis relative : 5.38. API.

Si après l'activation de la variable les requêtes précédentes ne renvoient toujours rien, pourriez vous tester la requête suivante suivante : <url_mantis>/mantis/api ou <url_mantis>/api? Un dossier “rest” est-il présent?

3/ /issues ne renvoie rien mais le dossier Rest est présent

La configuration Apache peut être problématique, le sujet est soulevé dans différents topics Mantis.

Voici deux liens qui nous ont aidé sur nos environnements de production pour résoudre le souci rencontré :

REST API is not working - Mantis Bug Tracker - Forums & How to install Mantis Bug Tracker (MantisBT) on Ubuntu Linux with Apache - Geek Rewind

Voici la conf Apache que nous avons utilisée : (mais ainsi, nous accédions à notre Mantis par cette url https://ci.squashtest.org/ et non plus https://ci.squashtest.org/mantis, mais l’API fonctionnait. À vous ensuite de finir la configuration pour rétablir le /mantis dans l’url).

DocumentRoot /var/www/mantis

ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined

Options +Indexes +FollowSymLinks +Includes +ExecCGI
AllowOverride All
Require all granted

Nous vous suggérons de sauvegarder votre fichier de configuration avant toutes modifications et de réaliser ces tests sur des environnements de tests/ppd.

Il se peut aussi que la configuration suivante soit aussi nécessaire :

Modifier la config apache /etc/httpd/conf/httpd.conf

<Directory "/var/www/html/mantis/api/rest">

Options Indexes FollowSymLinks Includes ExecCGI

AllowOverride All

</Directory>

Relancer Apache
Modifier la config de Mantis config/config_inc.php

$g_webservice_rest_enabled = ON;

Modifier le fichier api/rest/.htaccess

/rewrite/

Options +FollowSymLinks +SymLinksIfOwnerMatch

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f

RewriteRule ^ index.php [QSA,L]

SetEnvIf Authorization .+ HTTP_AUTHORIZATION=$0

Cordialement,
Xavier, Équipe Support Squash
hpetitjean
Messages : 5
Inscription : jeu. juil. 20, 2023 2:14 pm

Re: Problème de connexion SQUASH - Mantis

Message par hpetitjean »

Bonjour,

Merci pour vos retours.
Nous avons testé tous les points que vous nous avez proposé. Nous avons forcé la variable $g_webservice_rest_enabled à ON et nous avons bien le dossier api\rest avec des éléments dedans, mais l'appel à l'url api/rest/issues/ ne retour rien.
Nous devons donc avoir un souci avec la configuration du serveur, nous allons continuer d'investiguer de ce coté là. Nous vous tiendrons au courant de l'évolution.
g.slaoui
Messages : 6
Inscription : mar. juil. 18, 2023 3:22 pm

Re: Problème de connexion SQUASH - Mantis

Message par g.slaoui »

Bonjour hpetitjean
j'ai le même souci lors de l'enregistrement du token sur Squash . as tu pu résoudre ton problème ?
hpetitjean
Messages : 5
Inscription : jeu. juil. 20, 2023 2:14 pm

Re: Problème de connexion SQUASH - Mantis

Message par hpetitjean »

Bonjour,

Nous nous sommes rapproché de notre hébergeur et la configuration du serveur est bonne d'après eux et redirection a les bons chemins.
Nous avons un erreur PHP issue du code Mantis directement. Quand on appelle l'url <mantis>/api/rest/issues/,nous avons l'exception suivante :

PHP Fatal error: Uncaught RuntimeException: Unexpected data in output buffer. Maybe you have characters before an opening <?php tag? in /home/www/client/www/prod/mantis-2.25.7/vendor/slim/slim/Slim/App.php:621
Stack trace:
#0 /home/www/client/www/prod/mantis-2.25.7/vendor/slim/slim/Slim/App.php(317): Slim\App->finalize(Object(Slim\Http\Response))
#1 /home/www/client/www/prod/mantis-2.25.7/api/rest/index.php(107): Slim\App->run()
#2 {main}
thrown in /home/www/client/www/prod/mantis-2.25.7/vendor/slim/slim/Slim/App.php on line 621

Nous ne savons pas à cause de quoi cette erreur est provoquée. Nous allons probablement poster une question sur le forume Mantis. A moins que quelqu'un ait une idée ici ?
g.slaoui
Messages : 6
Inscription : mar. juil. 18, 2023 3:22 pm

Re: Problème de connexion SQUASH - Mantis

Message par g.slaoui »

Bonjour
En effet je suis exactement à la même situation ( voir docs en pj) bloquée depuis 2 semaines
Pièces jointes
issues (1).docx
(246.68 Kio) Téléchargé 23 fois
squash-tm.log.txt
(22.99 Kio) Téléchargé 14 fois
g.slaoui
Messages : 6
Inscription : mar. juil. 18, 2023 3:22 pm

Re: Problème de connexion SQUASH - Mantis

Message par g.slaoui »

Bonjour hpetitjean

toujours bloquée ! mais j'ai fait une petite modif qui a fait il me semble avancer les choses
Comme pour ton cas , quand on appelais l'url <mantis>/api/rest/issues/
on recevais l'erreur :
PHP Fatal error: Uncaught RuntimeException: Unexpected data in output buffer. Maybe you have characters before an opening <?php tag? in /home/www/client/www/prod/mantis-2.25.7/vendor/slim/slim/Slim/App.php

j'ai changé sur le code de la page App.php : ['addContentLengthHeader'] == true à ['addContentLengthHeader'] == false
je n'est donc plus l'erreur en question , mais j'ai mes issues affichés en code php (voir capture en pièce jointe) à l'appel de l'url <mantis>/api/rest/issues/

Peux tu stp m'informer si tu avance de ton côté

Merciii d'avance
Pièces jointes
issues.png
issues.png (503.32 Kio) Consulté 1024 fois
g.slaoui
Messages : 6
Inscription : mar. juil. 18, 2023 3:22 pm

Re: Problème de connexion SQUASH - Mantis

Message par g.slaoui »

ReBonjour

finalement la fameuse modif était la bonne :
en changeant sur App.php : ['addContentLengthHeader'] == true à ['addContentLengthHeader'] == false , les issues ( appel l'url <mantis>/api/rest/issues/) ont bien été remonté comme sur la captures d'ecran du poste ci-dessus
et le plus important c'est que j'ai pu créer une anomalie mantis depuis l'exécution d'un cas de test Squash
hpetitjean
Messages : 5
Inscription : jeu. juil. 20, 2023 2:14 pm

Re: Problème de connexion SQUASH - Mantis

Message par hpetitjean »

Bonjour,

La modification nous permet en effet d'afficher la liste des tickets dans le navigateur.
Mais nous avons encore un problème de connexion entre SQUASH et Mantis. Une erreur lors de l'auhentification. Nous continuons d'inverstiguer.
Merci pour votre aide.
hpetitjean
Messages : 5
Inscription : jeu. juil. 20, 2023 2:14 pm

Re: Problème de connexion SQUASH - Mantis

Message par hpetitjean »

Bonjour,

Nous avons finit par trouver l'origine du problème. Cela n'avait rien à voir avec la configuration.

Nous avions des messages d'erreur lors des tentative de connexion à Mantis depuis SQUASH :
Chrome : "JsonParseException: Invalid UTF-8 start byte 0xbb
Firefox : "SyntaxError: JSON.parse: unexpected character at line 1 column 1 of the JSON data"

Dans le dossier Mantis sur notre serveur, nous avions un fichier encodé en UTF-8 BOM (le fichier config\custom_strings_inc.php). Le retour de Mantis à SQUASH était alors encodé en UTF-8BOM et SUQASH n'arrivait pas à l'interpréter.
En modifiant l'encodage du fichier, nous n'avons plus de problème.
Répondre

Revenir à « Bugtrackers »