Document toolboxDocument toolbox

How to exclude partial matches in TISSUE reports

It is possible to achieve this feature directly by setting the “Hide Incomplete Rows“ preference in the gadget.

For details, please refer to Release Notes for 3.5.0.

Introduction

The Tissue Gadget use the issues from the primary set of issues to join up with linked issues from the secondary set of issues.
It will display blank values when there is no linked issues. This is similar to a Left Join in database terminology.

In some cases, the users may only want to display rows which have matching linked issues.
The Inner Join will skip those issues in the primary set of issues which does not have linked issues

SQL Join.png

Example

Primary Set of Issues (Epics)

Key

Epic Name

Linked Issue

Key

Epic Name

Linked Issue

TIS-100

TIS bug fix

CS-18

TIS-99

TIS feature improvement

CS-10

TIS-98

TIS UI improvement

CS-15

TIS-20

TIS performance fix

 

Secondary Set of Issues (Feature request to be linked to epics)

Key

Summary

Status

Key

Summary

Status

CS-18

TypeError when the issue data does not contain issuelinks field

Pending Dev

CS-15

To allow multiple link types for each level

Pending Dev

CS-10

To unescape the title which contains special characters

Pending Dev

 

How the different join looks like

Left Join (Default)

Key

Summary

Linked Issue

Status

Key

Summary

Linked Issue

Status

TIS-100

TIS bug fix

CS-18

Pending Dev

TIS-99

TIS feature improvement

CS-10

Pending Dev

TIS-98

TIS UI improvement

CS-15

Pending Dev

TIS-20

TIS performance fix

 

 

Left Join.png

Inner Join

Key

Summary

Linked Issue

Status

Key

Summary

Linked Issue

Status

TIS-100

TIS bug fix

CS-18

Pending Dev

TIS-99

TIS feature improvement

CS-10

Pending Dev

TIS-98

TIS UI improvement

CS-15

Pending Dev

The row containing TIS-20 is omitted because no issues are linked to it

 

How to achieve Inner Join

The trick is use the LinkedIssuesOf JQL function (from ScriptRunner Enhanced Search) on the primary set of issues.
It is possible to apply filtering to exclude issues with no matching linked issues.

There are 2 parts

1. Create a JQL filter for the primary set of issues

  1. Head to ScriptRunner Enhanced Search from the Apps menu

     

  2. Specify the JQL to fetch the linked issues as the parameter for the linkedIssuesOf function

    1. E.g. Fetching linked issues with the status Awaiting Dev and Link Issue Type = is related to

      issueFunction in linkedIssuesOf(status in ("Awaiting Dev"), "is related to")

       

  3. It should display only those issues that have links. You may also add more conditions to do filtering on the primary set of issues.

  4. Click Save as Filter button to save the JQL as a filter to use it in TISSUE

  5. Update the filter options as required

You can choose another meaningful name for your Filter.

2. Use the Filter in Tissue Gadget

  1. Use the created filter in TISSUE by using the JQL command below

filter = <"YourCreatedFilterName">

  1. Now, the Tissue gadget will only display issues with linked issues

Reference