Aller au contenu

Configuration générale de Squash TM

Cette section traite de la configuration générale de Squash TM et plus particulièrement de la gestion du port d'accès à Squash TM et des propriétés contenues dans le fichier de configuration squash.tm.cfg.properties.

Changer le port d’accès à Squash TM

Le port par défaut du serveur est modifiable dans le fichier \bin\startup. Rechercher la ligne suivante et remplacer le port 8080 par celui souhaité :

[...]
set HTTP_PORT=8080 
[...]

Info

Noter que le système ne vérifiera pas si le port choisi est disponible, il faut donc s'assurer auprès de l'administrateur que c'est bien le cas.

Gestion du fichier de configuration Squash TM

Dans le fichier de configuration de Squash TM conf/squash.tm.cfg.properties, il est possible de configurer un certain nombre de propriétés.

Focus

Toutes les modifications réalisées dans le fichier de configuration squash.tm.cfg.properties doivent être enregistrées et l'application doit être redémarrée pour qu'elles soient prises en compte.

Le timeout de session de Squash (durée au bout de laquelle un utilisateur inactif est automatiquement déconnecté) est configuré par défaut à une heure. Cette durée (en secondes) est modifiable par la propriété suivante :

server.servlet.session.timeout=3600

Il est possible de définir le chemin de contexte sous lequel l'application sera accessible par les utilisateurs grâce à la propriété suivante :

server.servlet.context-path=/test
Suite à cette modification, les utilisateurs pourront se connecter à Squash en utilisant l'URL <url-squash\>/test.

La taille du pool de connexions à la base de données est, par défaut, configurée à 20. Il est possible de l'augmenter en décommentant la ligne après avoir modifié la valeur :

spring.datasource.hikari.maximumPoolSize = 20

Le timeout de connexion au bugtracker est par défaut configuré à 15 secondes. Il est modifiable par la propriété suivante :

squashtm.bugtracker.timeout=15

L’affichage du panneau de configuration pour activer/désactiver le détail des erreurs est par défaut masqué dans la page 'Paramètres système' dans l'Administration de Squash TM.
Pour le rendre visible, il faut modifier la propriété suivante dans le fichier avec la valeur true :

stack.trace.control.panel.visible=true

Les logins et mots de passe saisis pour la connexion aux outils tiers par les utilisateurs sont chiffrés dans la base de données avec une clé définie par la propriété suivante :

squash.crypto.secret = *******
Squash TM est livré avec une clé par défaut qui doit être modifiée. Lorsque cette clé est mise à jour, les identifiants saisis avant la modification deviennent inutilisables et devront être saisis de nouveau pour être chiffrés avec la nouvelle clé.

Depuis Squash TM 7.1.0, l'authentification par jeton est disponible pour les appels d'API. Pour créer et utiliser des jetons, vous devez définir un secret, qui doit être converti en base64 pour obtenir une sortie d'au moins 86 caractères (soit 512 bits).

Par exemple : Ym9uam91cmplc3Vpc2RldmVsb3BwZXVzZXN1cnNxdWFzaHRtZXRub3Vzc29tbWVzZW5sYW5uZWUyMDI0ISEhIS.

Si cette propriété n'est pas définie, il ne sera pas possible de créer des jetons d'API personnels :

squash.rest-api.jwt.secret=

Une propriété permet de désactiver l'authentification de base pour les appels à l'API :

squash.rest-api.disallow-basic-authentication=false

Dépréciation de l'authentification de base

Dans Squash TM 7.1.0, cette propriété est définie à false par défaut.
À partir de mi-2025, elle sera à true par défaut pour les nouvelles versions de Squash TM.
À partir de mi-2026, l'authentification de base (par login / mot de passe) pour les appels à l'API ne sera plus possible, l’authentification devra se faire obligatoirement par jeton.

Les plugins de synchronisation possèdent deux propriétés :

  • La première permet d'activer ou de désactiver le processus programmé pour toutes les synchronisations.
    Cette propriété ne modifie pas l'attribut activée des synchronisations.
    Passer cette propriété à false peut être utile dans les situations suivantes :

    • Vous n'utilisez pas les synchronisations.
    • L'instance est un Squash TM de pré-production ayant une copie des données de production et vous devez empêcher les synchronisations enregistrées en base de données de tourner pour ne pas polluer vos tickets Jira/GitLab.
    • Vous utilisez une autre instance de Squash TM pour gérer les synchronisations.
    squash.external.synchronisation.enabled = true
    
  • La seconde définit le délai entre deux mises à jour (de Squash et de Jira/GitLab) exprimé en secondes. Si cette propriété est absente ou incorrecte, le plugin se règle par défaut sur cinq minutes (300 secondes) et émet un avertissement dans les logs de Squash TM au démarrage de l’application. Plus le délai est court, plus le plugin consomme de ressources côté Squash TM. Pour la plupart des usages courants, un temps compris entre 5 et 15 minutes est suffisant.

    squash.external.synchronisation.delay = 300
    

Le plugin Xsquash4Jira possède une propriété qui règle la taille du batch de mise à jour des informations depuis Jira. La valeur par défaut est de 50. Cette taille doit être inférieure ou égale à la valeur jira.search.views.default.max définie dans le fichier de propriété de jira-config.properties. La valeur par défaut, 50, fonctionne très bien avec Jira Server, Datacenter et Cloud, si aucune modification de configuration n’a été apportée à l’instance Jira.

plugin.synchronisation.jira.batchSize = 50

Lorsque le port 80 est bloqué pour des raisons de sécurité, il est nécessaire d'ajouter la propriété suivante à la fin du fichier de configuration pour que les redirections internes au sein de l'application se fassent systématiquement via le port 443 :

server.tomcat.use-relative-redirects=true 

Configurer la locale

La locale est utilisée pour certains messages d'erreur. Elle est définie dans le fichier \bin\startup au niveau des arguments JAVA (JAVA_TOOL_OPTIONS). Pour la modifier, rechercher l'argument suivant et indiquer la langue souhaitée :

-Duser.language=en

Si le système n'a pas de locale, il est possible soit :

  • de définir une locale système
  • d'ajouter l'argument suivant dans JAVA_TOOL_OPTIONS avec la région souhaitée :
    -Duser.region=GB