Forums

Articles
Create
cancel
Showing results for 
Search instead for 
Did you mean: 

Structure for PPM by Tempo: How to remove duplicates?

Kent G
Contributor
May 11, 2026

This question is specifically about the third-party addon named Structure for PPM by vendor Tempo.

Context: I have an Epic that contains a Story. That Story is linked to a Task. The Story "is implemented by" the Task. The Task "implements" the Story.

Age-old problem: we view Tasks as possible children to Stories, but Jira doesn't view them that way. Thus why we purchased Structure for PPM in the first place.

The way the work items are structured:

  • Epic 1
    • Story A
      • Task X "implements" Story A

The important thing to note that Task X's true parent in the Jira hierarchy is Epic 1 (Epic 1 is in the 'parent' field of Task X).

I have experimented at length with different generators. And re-ordering the generators where possible (it isn't always possible; Tempo will give you an error often that they cannot be reordered).

See the screenshot for the current state of said generators.

Problem: When the Structure renders, Task X is duplicated. It displays once because it is a child of Epic 1. And again because it "implements" Story A.

What is desired: If any work item "implements" another work item, it only shows once because of that "implements" relationship and its hierarchical relationship to a parent is disregarded. Any work item that does not have an "implements" link to another work item displays only once because of its hierarchical relationship to a parent.

I would find it hard to believe that I'm the first person to struggle with this. Has anyone else found some good options to solve for this?

Thanks!

image.png

 

1 answer

Suggest an answer

Log in or Sign up to answer
0 votes
Stepan Kholodov _Tempo_
Community Champion
May 12, 2026

Hello @Kent G 

This is indeed the expected behavior - when an issue has 2 different parents, it's impossible to visualize the existing hierarchy without duplicating the issue, and add it in two different places in the structure.

The 'Remove Inserter/Extend Duplicates' also will not work for this, because the filter works only in the specific scenario when an issue is added once by an Insert generators, and another time by an Extend generator. In your case, the issue is added twice by two different extenders. From Structure's perspective, it's not clear which one of the two you want to keep, because only a user knows what makes sense in their setup.

However, you can just filter out the direct children of an Epic, if they meet the defined criteria using the Formula grouper with a formula like this:

!(if key = issuelinks.filter($.type = "implements").source.key: 1)

and set its 'Filter on level' setting to level 2.
As a result, the formula will remove Tasks from under Epics if they have the 'implements' link towards other issues.
I hope this helps. If you have more questions about Structure, please contact us directly at our support portal.

Best regards,
Stepan
Tempo (the Structure app vendor)
Kent G
Contributor
May 12, 2026

Thank you for the reply, although I added the suggested formula and did not see any difference. Task TSAC-28 implements Story TSAC-30. Story TSAC-30 has no "implements" link to any other ticket and has a parent of Epic TSAC-4. But even with the formula, I still see Task TSAC-28 twice, once nested under Story TSAC-30 and once nested under Epic TSAC-4. See screenshots.image.pngimage.pngimage.pngimage.png

Stepan Kholodov _Tempo_
Community Champion
May 13, 2026

Please note - the proposed formula is to be used in the Filter generator, not grouper.
But, regardless, there is definitely something off here. Is the name of the link type is 'Implements'? The Formula is not referencing the link direction that you see on the work item page('implements'), but it references the link type name which can, in theory, be something different. You can find it at Jira at settings | Work items | Work item linking. Check the name of the link type that has the 'implements'/'is implemented by' directions, and adjust it in the formula, if needed.

If this doesn't help, please submit a support request at our portal, and we'll look into it.

Best regards,
Stepan

TAGS
AUG Leaders

Atlassian Community Events