Skip to content

Squash TM Main Configuration

This part is about Squash TM's main configuration, especially when it comes to its access port and the properties of the configuration file squash.tm.cfg.properties.

Change Squash TM's Access Port

You can change the server's default port in the file \bin\startup. Search for the following line and replace port 8080 by the port you want:

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

Info

Please note that the system will not verify that the chosen port is available. Thus, make sure that it is the case by contacting the system administrator.

Squash TM's Configuration File

In Squash TM's configuration file conf/squash.tm.cfg.properties, you can configure various properties.

Focus

All changes made to the configuration file squash.tm.cfg.properties must be saved. You must restart the app for them to be taken into account.

By default, Squash TM's session timeout is set on one hour. If a user logged into Squash does not do anything, they are logged out after an hour. To extend or shorten this period, change the following property by inserting another value in seconds:

server.servlet.session.timeout=3600

You can change Squash TM's context path by adding the following property with a new context:

server.servlet.context-path=/test

Following this change, Squash TM users can log in by entering this URL in their browser: <squash-base-url>/test

By default, the connection poolsize for the database is set at 20. You can increase it by uncommenting the line after modifying the value:

spring.datasource.hikari.maximumPoolSize = 20

By default, the connection timeout for the bugtracker is set at 15 seconds. To change it, enter a new value, then save the file:

squashtm.bugtracker.timeout=15

By default, the display of the configuration panel to activate/deactivate error details is hidden in the page 'System settings' in Squash TM Administration workspace.
To make it visible, you must set the following property to true in the configuration file:

stack.trace.control.panel.visible = true

Logins and passwords entered for connection to third party tools by users are encrypted in Squash TM database with an encryption key that can be modified with the following property in the Squash TM configuration file:

squash.crypto.secret = *******

The application is delivered with a default encryption key for practical reasons, it is strongly recommended changing it. If the encryption key is changed, the credentials stored before the change are unusable with that new key. They will have to be entered again to take into account the new encryption.

Since Squash TM 7.1.0, token authentication is available for API calls. To create and use tokens, you must define a secret, which must be converted to base64 to obtain an output of at least 86 characters (i.e. 512 bits).

For example: Ym9uam91cmplc3Vpc2RldmVsb3BwZXVzZXN1cnNxdWFzaHRtZXRub3Vzc29tbWVzZW5sYW5uZWUyMDI0ISEhIS.

If this property is not set, it will not be possible to create personal API tokens:

squash.rest-api.jwt.secret=

A property allows basic authentication to be disabled for API calls:

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

Disallow basic authentication

In Squash TM 7.1.0, this property is set to false by default.
From mid-2025, it will be true by default for new versions of Squash TM.
From mid-2026, basic authentication (login/password) for API calls will no longer be possible, authentication will have to be by token.

Synchronisation plugins have two properties:

  • The first one enables or disables the scheduled process for all synchronisations.
    This property does not affect the attribute activated of the synchronisations.
    Switching this property to false can be useful in situations such as:

    • You do not use synchronisations;
    • The instance is a pre-production Squash TM having a copy of the production database and you must avoid the synchronisations recorded in the database to run on this instance to not pollute your Jira/GitLab tickets;
    • You use another Squash TM instance to handle synchronisations.
    squash.external.synchronisation.enabled = true
    
  • The second one defines the delay between two updates, expressed in seconds. If this property is missing or incorrect, the default delay is set to five minutes (300 seconds) and a warning occurs in the Squash TM logs when the application starts. The shorter the delay is, the more resources the plugin consumes on the Squash TM side. For most common uses, a delay between 5 and 15 minutes is enough.

     squash.external.synchronisation.delay = 300
    

Xsquash4Jira plugin has a property which sets the size of the batch to update the information from Jira. The default value is 50, which must be less than or equal to the value jira.search.views.default.max defined in the jira-config.properties property file. The default value, 50, works fine with Jira Server, Datacenter and Cloud, if no configuration changes have been made to the Jira instance.

plugin.synchronisation.jira.batchSize = 50

When port 80 is blocked for security reasons, it is necessary to add the following property at the end of the configuration file so that internal redirections are systematically done via port 443:

server.tomcat.use-relative-redirects=true 

Set up the locale

The locale is used for some error messages. It is defined in the \bin\startup file in the JAVA arguments (JAVA_TOOL_OPTIONS). To modify it, look for the following argument and indicate the desired language:

-Duser.language=en

If the system does not have a locale, it is possible to either:

  • define a system locale
  • add the following argument in JAVA_TOOL_OPTIONS with the desired region:
    -Duser.region=GB