Skip to content

Configure Plugins to Connect to third-Party Tools

Squash TM can connect to third-party tools thanks to its plugins.
In most cases, you simply have to install the plugin and then configure it in the Squash TM Administration workspace to use it.

Learn More

To learn more about how to configure plugins, please visit the page Manage servers in the Squash TM Administrator Guide.

However, some plugins require additional configuration when it comes to the server:

  • Xsquash4Jira;
  • Jira Workflow Automation;
  • Jira Bugtracker;
  • Xsquash4GitLab;
  • Redmine Bugtracker;
  • Redmine Requirements;
  • Tuleap.

Xsquash4Jira and Jira Automation Workflow

Xsquash4Jira and Jira Automation Workflow are synchronization plugins that work with Jira Server, Jira Data Center, and Jira Cloud.

The synchronization interval of these two plugins is managed in Squash TM configuration file squash.tm.cfg.properties via the following property:

squash.external.synchronisation.delay = 300

By default, the delay between two synchronizations is set at 300 seconds (five minutes). To change it, enter the value in seconds, save, and restart Squash TM.

Info

This is the same property as the one used for Xsquash4GitLab plugin. This means that the synchronization delay is the same for Jira and GitLab synchronizations.

In Squash TM's file squash.tm.cfg.properties, a second property allows you to define the batch size for synchronizations (number of issues handled by package):

plugin.synchronisation.jira.batchSize = 50

By default, the batch size is set at 50, which corresponds to the default value in Jira. In Jira Server, this value is managed by the property jira.search.views.default.max. It is better that values are identical in both Jira and Squash TM.

The Jira Automation Workflow plugin only works if the Jira Bugtracker Server plugin or Jira Bugtracker Cloud is already installed in Squash TM.

Configure OAuth 1A for Jira

For Jira connectors (Jira Bugtracker and Xsquash4Jira), you can use a OAuth 1A protocol for authentication.

For this, you must configure the URLs involved in the exchange of tokens, and the methods for signing requests.

The configuration elements specific to Jira are:

  • Temporary tokens URL: POST [Jira address] /plugins/servlet/oauth/request-token;

  • Access token URL: POST [Jira address] /plugins/servlet/oauth/access-token;

  • Authorization URL: [Jira address]/plugins/servlet/oauth/authorize;

  • Signature method: RSA-SHA1;

  • Consumer Key and Secret: See below.

In Jira server, you must configure an app link using the option Create incoming link. Configuring an incoming link allows you to configure links in both ways, in other words from Jira to Squash TM and from Squash TM to Jira. For this, you must, as an administrator:

  1. Go to Administration menu > Application;

  2. Click on Links between apps under the item Integrations in the menu bar on the left. The page Configure links between apps appears;

  3. Enter the simple Squash TM URL in the field, then click on [Create new link];

  4. In the pop-up Configure App URL, confirm the use of the Squash TM URL for the link, then click on [Continue];

  5. In the Link apps pop-up, freely enter the first part of the form and make sure you check the case "Create incoming link", then click on [Continue];

  6. Enter the second part of the form, which aims to define the following information:

    • Consumer key: to be entered in Squash TM. It identifies the tokens exchange service for SSO;

    • Consumer name: name under which Squash TM will be known by Jira. It will allow the user to recognize that they are authorizing Squash TM;

    • Public key: public key -- or "shared secret" in OAuth language for Jira -- that corresponds to the private key -- or "secret" in Squash TM.

Link applications

Secret and shared secret are respectively a private key and a public key. You can generate them thanks to openssl:

openssl genrsa -out jira_privatekey.pem 1024
openssl req -newkey rsa:1024 -x509 -key jira_privatekey.pem -out jira_publickey.cer -days 365
openssl pkcs8 -topk8 -nocrypt -in jira_privatekey.pem -out jira_privatekey.pcks8
openssl x509 -pubkey -noout -in jira_publickey.cer  > jira_publickey.pem

Focus

The public key is asked by Jira, not the certificate (hence the name jira_publickey.pem)
The private key is in PCKS#8 format (jira_privatekey.pkcs8).

Once secret and shared secret are shared, you must respectively enter them in Squash TM and Jira. Do not forget to delete the private key's headings and spaces beforehand.

Learn more

To configure OAuth 1A protocol in Squash TM, please read Configure OAuth 1A authentication protocol in the Squash TM Administrator Guide.

Xsquash4GitLab

Xsquash4GitLab is a synchronization plugin that works with GitLab. It only works if GitLab Bugtracker is also installed in Squash TM.

Synchronization delay

The synchronization interval of this plugin is managed in Squash TM configuration file squash.tm.cfg.properties via the following property:

squash.external.synchronisation.delay = 300

By default, the delay between two synchronizations is set at 300 seconds (five minutes). To change it, enter the value in seconds, save, and restart Squash TM.

Info

This is the same property as the one used for Xsquash4Jira and Jira Automation Workflow plugins. This means that the synchronization delay is the same for Jira and GitLab synchronizations.

GitLab integration token

To set up Squash TM integration in GitLab, it is possible but not mandatory to define a token in Squash TM configuration file squash.tm.cfg.properties via the following property:

plugin.synchronisation.gitlab.webhook.secret-token

The characters allowed for the token are ASCII printable characters, namely lowercase letters, uppercase letters, numbers and the following special characters:

! " # $ % & ' ( ) * + , - . / : ; < = > ? @ [ \ ] ^ _ ` { | } ~

A second property allows you to show/hide the token in Squash TM:

plugin.synchronisation.gitlab.webhook.show-secret-token

When set to true, Squash TM project managers can see this token in Squash TM UI in order to copy/paste it in GitLab.
When set to false, the token is hidden is Squash TM UI.

Redmine Bugtracker and Redmine Requirements

Squash TM's Redmine Bugtracker and Redmine Requirements plugins require an additional plugin in Redmine.

Focus

The plugin installation in Redmine is not optional. This Redmine plugin is needed for the Squash TM plugins to work.

To install the plugin in Redmine, you must:

  1. Download the plugin redmine-rest-ext-api-plugin-1.0.0.zip for Redmine 3 or redmine4-rest-ext-api-plugin-1.0.0.zip for Redmine 4;

  2. Stop Redmine;

  3. Extract then put the plugin's content in Redmine's plugins folder;

  4. Restart the Redmine app;

Then, in the Redmine interface, as an administrator:

  1. Activate the API by checking the box Activate the REST API in Administration > Configuration > API Tab;
  2. Verify that the Squash TM plugin is installed in Redmine by going to Administration > Plugins.

Plugin Squash Tm sur Redmine

Apart from this plugin, the Redmine Requirements plugin can only work if the Redmine Bugtracker plugin is already installed in Squash TM.

Tuleap

Configuring Mapping Properties

The Tuleap Bugtracker plugin can be configured with properties. These properties have to be set in Squash TM's configuration file. A file delivered with this plugin presents a model configuration. You can copy and paste this file's content in the Squash TM configuration file squash.tm.cfg.properties.

The expected properties are the following:

Property Comment
plugin.bugtracker.tuleap.field.summary Name of the field Summary in Tuleap
plugin.bugtracker.tuleap.field.details Name of the field Details in Tuleap
plugin.bugtracker.tuleap.field.assignee Name of the field Assigned to in Tuleap
plugin.bugtracker.tuleap.field.severity Name of the field Severity in Tuleap
plugin.bugtracker.tuleap.field.status Name of the field Status in Tuleap
plugin.bugtracker.tuleap.field.attachment Name of the field Attachment in Tuleap

All the properties of the group plugin.bugtracker.tuleap.field are mappings that indicate to squash the technical name of certain Tuleap fields. These properties are only used for displaying issues in Known Issues tables of executions and executions steps as well as other workspaces.

Import the Certificate to the JVM

By default, the Tuleap API is only accessible through the https protocol. To communicate using this protocol, the JVM hosting Squash TM must know the Tuleap certificate. The procedure depends on your system, but generally, you must use keytool to import the certificate to the JVM. The procedure is described down below.

Connect to a Third-Party Tool using HTTPS

To use a third-party tool configured in https, you must install the matching plugin's jar in Squash TM, then import the tool's certificate in Squash TM's JVM.

Here are the steps to follow to retrieve and import the tool's certificate to Squash TM's JVM:

  1. Stop Squash TM;
  2. Download the tool certificate:
    • Enter the tool's URL using HTTPS in your browser;
    • Click on the lock in the address bar;
    • For example in Firefox, click on the arrow next to Connection Secure > More Information > View Certificate. Then, download the PEM (cert) file in the Miscellaneous section;
  3. Identify Squash TM's JVM;
  4. In Linux: Run this command (compatible with a unix system) by changing the values of the variables depending on the environment:

        export hostname=toolServer
        export cacerts=/usr/lib/jvm/java-openjdk/jre/lib/security/cacerts
        export cert=/etc/ssl/certs/ssl-cert-outil.pem
        keytool -importcert -alias $hostname -file $cert -keystore $cacerts -storepass changeit -noprompt
    
  5. In Windows:

    • Open Command Prompt;
    • To go to the JVM's bin, enter the following command:

      cd C:\ProgramFiles\Java\jre\bin
      
    • Run this command to import the certificate:

      keytool -importcert -alias Outil -file "C:/Downloads/outil-org.pem" -keystore "C:/ProgramFiles/Java/jre/lib/security/cacerts" -storepass changeit -noprompt
      

      Tool: server alias
      "C:/Downloads/outil-org.pem": Tool certificate location;
      "C:/ProgramFiles/Java/jre/lib/security/cacerts": JVM cacert location.

  6. Restart Squash TM for the certificate to be taken into account.