Skip to content

Configure Xsquash4Jira in Squash

Info

This page is dedicated to the general configuration of the Xsquash4Jira plugin. To configure synchronizations, go to: Manage Xsquash4Jira synchronizations.
To learn more about Xsquash4Jira's features, please visit the page Synchronize Jira Agile Objects in Squash.

Xsquash4Jira is a Squash plugin dedicated to the synchronization of issues from Jira Data Center and Jira Cloud. Here are its main features:

  • an automatic synchronization module that enables Squash to import and keep:
    • Jira issues updated as requirements in the Requirements workspace;
    • Jira sprints and their content in the form of synchronized sprints in the Executions workspace. This feature allows the user to see in the Executions workspace sprint issues that needs to be verified. It also automatically feeds the sprint execution plan with tests associated to the issues;
  • a reporting module that enables you to display information in Jira tickets about the progress of acceptance testing in Squash. This information can be displayed in custom fields you can add in Jira issues, which Squash then completes;
  • a module to create test plans from Jira objects. You can access this wizard from the Execution workspace. It enables you to create test plans by filtering delivered versions, sprints, or JQL requests from Jira. All the test cases associated with the issues within the chosen perimeter are suggested to the user to be added to the execution plan.

Most of the Xsquash4Jira features are automatic and start on their own once the configuration is fully completed:

Name Start Flow direction
Synchronization of Jira issues Automatic once the configuration is completed From Jira to Squash
Synchronization of Jira sprints Automatic once the configuration is completed From Jira to Squash
Squash acceptance data reporting Automatic once the configuration is completed From Squash to Jira
Create a test plan in Squash from Jira objects Manual from the Squash Execution workspace From Jira to Squash

Attention

During these automatic actions, the plugin will never erase objects (requirements or sprints) synchronized in Squash nor objects (issues or sprints) in Jira. If objects were to be deleted or moved in Jira, the corresponding objects would remain in Squash and would have to be manually deleted by Squash users if needed.

Installation and Prerequisites

Info

By default, the Xsquash4Jira plugin is included with the Squash Freeware. Therefore, it is already installed in Squash.
To learn more, please visit this page: Squash plugins.

Squash/Jira Communication

The Xsquash4Jira plugin is based on a bidirectional communication between Squash and Jira. It is a server to server communication that goes through Jira Rest API. For the plugin to work, the communication must be possible. Often, this requires interventions on the network's infrastructure: opening flows in the firewalls, adding certificates in the JVMs, etc.

If the same Jira server is already used with success as a bugtracker thanks to the Jira Bugtracker plugin, it implies that the communication is already possible.

Should there be a problem, you must directly test the Squash server to verify if it can access Jira. For this, try to make a request directly to the Jira API or from the server hosting Squash using a curl or wget. If it does not work, it means it's a network problem.

Jira account authorizations

To work, the plugin must be able to communicate with Jira, or through a Jira user. That user must at least have read permissions on the API for all the objects to synchronize (issues and sprints). If reporting from Squash to Jira is activated, the user must have writing rights on the API for all the involved objects.

Create the Xsquash4Jira server in Squash

To use the Xsquash4Jira plugin, you must declare a synchronization server of the type jira.xsquash in the Squash Administration workspace, in the Servers>Bugtrackers and Synchronization servers workspace.

In the pop-up to create a new server, enter the server name (unrestricted), jira.xsquash as the type, and the shortest Jira URL, then click on [Add]. The Xsquash4Jira plugin is compatible with Jira Data Center and Jira Cloud.

Add Xsquash4Jira server

Warning

An Xsquash4Jira synchronization server cannot be deleted if it is being used for synchronizations. You must delete the synchronizations beforehand to be able to delete the server.

Credentials used for the synchronizations

The plugin uses the Jira API to retrieve data with a basic authentication, using the credentials of the Jira account used for each synchronization.

Focus

Depending on Jira hosting, Jira user credentials are: login/password for Jira Data Center or email adress/token for Jira Cloud. For more information about API tokens, visit the page Jira Cloud API tokens.

Learn More

For security reasons, the login and password entered to connect to third-party tools are encrypted in the database with an encryption key. The Xsquash4Jira plugin also has two properties that must be directly configured in Squash configuration file squash.tm.cfg.properties. To learn more, please visit this page: Manage Squash TM's Configuration File.

Two options are available for synchronizations.

Technical account

This option enables all the synchronizations to be done with the same Jira account. The usual solution we recommend is to create a technical account dedicated to the plugin in Jira with the necessary rights only for the desired Jira projects.

Then, on a synchronization server configuration page, in the Authentication Policy block, it is necessary to add the Jira technical account credentials in the Technical account credentials section.

Page serveur Xsquash4Jira

User credentials

This option enables each synchronization to be done with different Jira accounts. It is useful when the Jira projects are partitioned because it allows to have more control on the synchronization perimeter. With this option, the credentials of the user who is the synchronization owner are used. Those are the credentials added in the Configuration mode of the bugtrackers block on My account workspace. The default owner is the user who has created the synchronization, but another user can become the new owner afterwards.

If this option is chosen, on a synchronization server configuration page, in the Authentication Policy block, Technical account credentials fields must be left empty.

Configure Xsquash4Jira for a Project

You can configure Jira issue and sprint synchronizations individually for each Squash project. For this, go to your project's consultation page, then click on the Plugins anchor Plugins.

First, activate the Xsquash4Jira connector plugin to access its own specific configuration page by clicking on the button Configure.

To deactivate the plugin for the project, click on the same button you clicked on to activate it. When checked, the option "Save plugin configuration" enables you to save the plugin's configuration while it is being deactivated, and the project's synchronizations. If unchecked, the project's configuration and synchronization are permanently deleted when the plugin is deactivated.

Deactivate Xsquash4Jira

You can access Xsquash4Jira's configuration page clicking on the button Configure at the end of the Xsquash4Jira Connector row.

The Xsquash4Jira configuration page has five blocks:

  1. The Synchronizations block enables you to configure the synchronization perimeters (more details on page: Manage synchronizations);
  2. The Reporting fields from Squash to Jira block enables you to configure the reporting to see the progress of acceptance testing with Jira issues;
  3. The Field mappings block enables you to configure the mapping between Jira and Squash fields;
  4. The Field value mappings block enables you to configure the value mapping for list-type fields: Criticality, Category, and Status;
  5. The Requirement link mappings block enables you to configure the mapping of the links between Jira issues as links between requirements in Squash.

Configure the Reporting from Squash to Jira

The Xsquash4Jira plugin is able to transfer information related to acceptance in Squash to Jira. This information is directly reported in Jira issues, more precisely in the custom fields especially configured for this purpose.

There are seven types of information: three acceptance progress rates (Redaction of test cases, Verification of Jira issues, Validation of Jira issues); three ratios using these progress rates as well as the number of tests involved; and one field, Testing Status, presenting a summary analysis of these three rates.

This reporting is optional. You can configure Xsquash4Jira to not retrieve anything in Jira or only part of all this information.

Focus

The fields "rates" and "ratios" contain similar information. Therefore, it is useless to synchronize all of them, and more interesting to choose only one of the two.
"Rates" fields are a number between 0 and 100.
"Ratios" fields consist of the "Rates" fields value with a % symbol followed by the number of relevant test cases (X/Y test cases).

Create Reporting fields in Jira

In Jira, reporting is done thanks to custom fields you can add directly in the Jira issues involved in the synchronization:

Acceptance information Custom fields to create in Jira
Progress rate (Redaction, Verification, Validation) In Jira, you must create a numerical custom field for each of the three rates you want to retrieve in Jira. The name is unrestricted.
Progress ratios (Redaction, Verification, Validation) In Jira, you must create a custom text field (single line) for each of the three ratios you want to retrieve in Jira. The name is unrestricted.
Testing status In Jira, you must create a custom text field (single line) for this field. You must choose "Wiki Style Renderer" for this field renderer to activate the icon display. The name is unrestricted.

Then, you must create Jira custom fields. They must:

  • be assigned to every type of issue that is likely to be synced in Squash;
  • be accessible in the editing screens of the issue types and relevant projects;
  • be editable by the technical user declared in Squash.

The field names declared in Jira are unrestricted. However, be careful that all the Jira issues involved in the synchronizations of one single project all have the same fields, since in Squash it is the project you have to configure.

These fields will be completed by Squash according to the acceptance's progress and transferred to Jira during each update cycle if needed.

Configure Reporting Fields in Squash

In Squash, to configure the reporting, go to the Configure the Xsquash4Jira plugin popup of the project, and then to the second block Reporting Fields from Squash to Jira. To configure them, complete the case-sensitive fields corresponding to the data you want to retrieve.
Once you have configured the block, do not forget to force the synchronization so that the changes you made are taken into account.

If you do not want any reporting in Jira, please leave these fields empty.

Reporting fields from Squash to Jira

Display Reporting data in Jira

When reporting fields are correctly configured in Jira and entered correctly in Squash, Xsquash4Jira automatically completes these fields during synchronizations and updates if needed.

Squash reporting fields in Jira

Redaction rate

This rate enables you to see the progress of the test case redation. For a synced requirement, this rate is equal to:

Number of test cases covering the requirement or one of its children with the status "Under review" or "Approved" / Number of test cases covering the requirement or one of its sub-requirements no matter their status.

If a requirement is not covered, this rate equals 0.

Redaction ratio

This field uses the value of the Redaction rate followed by the numbber of relevant test cases (X/Y test cases).

Verification rate

This rate enables you to track the execution progress of the test cases linked to a requirement or one of its children. For a given synced requirement, this rate is equal to:

Number of test plan items linked to a TC covering the synced requirement or one of its children with a final execution status (Blocked, Failure, Untestable, Passed, Settled), only taking into account the last execution (or last fast pass) / Number of items linked to test cases covering the synced requirement or one of its children

Verification ratio

This field uses the value of the Verification rate followed by the number of test cases involved (X/Y test cases).

Validation rate

This rate enables you to track the validation of a requirement. For a synced requirement, this rate is equal to:

Number of test plan items linked to a TC covering the synced requirement or one of its children with a validated execution status (Passed or Settled), only taking into account the last execution (or last fastpass) / Number of items linked to a TC covering the synced requirement or one of its children with a final execution status, only taking into account the last execution (or last fast pass)

Validation ratio

This field uses the value of the Validation rate, followed by the number of test cases involved (X/Y test cases).

Testing status

It's a synoptic field that summarizes the different possible testing statuses for a given requirement.
The calculation method is as follows:

Redaction rate Verification rate Validation rate Testing status
0 0 0 Not initialized
0 < Redaction rate < 100 0 0 Design in progress
100 0 0 To execute
All 0 < Verification rate < 100 100 Execution in progress
All 0 < Verification rate Validation rate < 100 Not validated
All 100 100 Validated

You can display only this field in Jira if it was configured separately. The rates will be calculated but not transmitted to Jira.

Configure field mappings

For Squash to display the information contained in the fields of Jira issues, you must configure the field mappings. For this, go to the 3rd block on the Xsquash4Jira configuration page Field mappings.

The button Add on top of the block enables you to add a new mapping.

Field mappings

The Squash fields available are in a drop-down list. You can add more fields to this list by adding custom fields to the project's requirements. For most cases, we recommend that you use "Simple text" Squash custom fields to retrieve the data from Jira issues. To map Jira "Multi-line (Advanced) Text" fields, we recommend that you use a "Rich text" Squash custom field.

Learn More

To learn more about custom fields, please visit this page: Manage custom fields.

Jira fields must be set with their name as it appears in JQL for native fields. Jira native fields, i.e. Type, Status, and Priority must be set in English using lowercase in the mapping table: issuetype, status, priority.

Once you have configured the block, do not forget to force the project's synchronization for your changes to be taken into account. You must also force the synchronization after deleting a mapping in the table. Otherwise, errors will appear in the logs.

Info

If a mapping does not work, check how the Jira name is displayed in the JQL requests, then try again with that value.

Configure field value mappings

If a field value mappings was configured for the Squash fields Criticality, Category, or Status, you must configure the field value mappings to get a complete mapping. For this, go to the 4th block Field value mappings.

To configure them, you must use YAML syntax. You must follow this format, which is explained in the Guidelines.

In the Guidelines:

  • squashfield corresponds to the name of the Squash field in English and in lowercase, as displayed in the list of fields and values available at the end of the guidelines;
  • jiravalue is the value of the Jira field as displayed in JQL requests or in Jira issues on Jira;
  • squashvalue is the value of the Squash field as displayed in the list of fields and values available at the end of the guidelines.

Here is an example to configure these three fields:

Field value mappings

Once you have configured this block, do not forget to force the project's synchronizations for your changes to be taken into account. You also must force the synchronization after deleting a mapping.

Learn More

You can associate an information list to the Category field of the project's requirement to retrieve the value of Jira issues in Squash as in the example above.
To learn more about custom list, please visit this page: Manage Custom Lists.

Warning

The statuses "Approved" and "Obsolete" block all requirement changes.
If you do a mapping with these two statuses, the requirements that will automatically get these statuses will no longer be updated afterwards.

You will have to manually modify the status to 'Work in progress' or 'Under review' to reactivate the requirement's update.

Xsquash4Jira also enables you to retrieve links between issues as links between requirements in Squash. You can configure this in the 5th block of the Xsquash4Jira configuration page Requirement link mappings.

Requirement link mappings

All the Squash links between requirements automatically appear in the mapping table. These are the links configured in the Squash Administration workspace Entities > Links between requirements.

Learn More

You can add new links between requirements from the workspace Entities > Links between requirements.
To learn more about links between requirements, please visit this page: Manage Links Between Requirements.

The Jira link between requirements must be referred to by its name, as displayed in the part Create links between demands in the Jira Data Center administration or in the Jira Cloud Link issues workspace.

Jira links

Once you have configured the block, do not forget to force the project's synchronizations for your changes to be taken into account. You also must force the synchronization after modifying a mapping.

Xsquash4Jira configuration in Project templates

You can configure Xsquash4Jira in a project template. Thus, you will be able to share it with the projects associated with the template or created from the template. After, at the project level, this configuration can be transmitted to the template or evolve independently of the template.

This feature is useful when you want to configure the Xquash4Jira plugin for multiple Squash projects and the Jira issues to sync come from Jira projects with the same configuration (custom fields, types of issues, priorities, workflow, etc.).

Configure Xsquash4Jira in Project templates

The Xsquash4Jira plugin configuration page for templates is similar to the projects one, except for the Synchronizations block which is not there for project templates.

For templates, you can configure mappings between the Squash and Jira fields, namely:

  • Reporting fields from Squash to Jira;
  • Field mappings;
  • Field value mappings;
  • Requirement link mappings.

Create a Project using the template's Xsquash4Jira configuration

When creating a project from a template, the option Xsquash4Jira configuration enables the administrator to use the template's Xsquash4Jira configuration.

Use template's Xsquash4Jira configuration

Thus, in the created project, the Xsquash4Jira plugin is already configured, except for the synchronizations which will have to be added by the project leader or administrator. At the project level, Xquash4Jira's configuration can be transmitted to the template or evolve independently of the template.

When creating a new Project

When creating a project from a template, an option allows the administrator:

  • to link the project's Xsquash4Jira configuration to that of the template (checked option):
    • the configuration at the project level is transmitted to the template, except for the synchronizations;
    • all the changes made in the template will be transmitted to the linked projects.
  • not to link the project's Xsquash4Jira's configuration to that of the template (unchecked option):
    • the configuration at the project level can evolve independently of that of the linked project;
    • all configuration changes made at the template level will not be transmitted to the linked projects.

Link Xsquash4Jira configuration

When associating an existing Project with a template

You can also link Xsquash4Jira's configuration when associating an existing project to a template.

In this case, if the Xsquash4Jira plugin was already configured at the project level, this configuration is replaced by that of the template. This will only have an impact on mapping settings, the synchronizations will not be deleted.

Associate Xsquash4Jira configuration

Deactivate Xsquash4Jira in the templates

Deactivating or deleting the configuration in the template deletes the configuration in the linked projects, except for the synchronizations.