Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in

List Issues linked via another issue

Sergio Sasso October 6, 2020

Hi,

is there a way to use scriptrunner to give me a table with the correlation of 2 issues linked via a 3rd issue?

In practice I have:

issue1 -> link -> Issue2 -> link -> Issue3

I need a list of issues "issue1" and "issue3" in a table based on the links via issue2.

Is anyone had this need in the past?

Thanks so much!!

 

1 answer

Suggest an answer

Log in or Sign up to answer
0 votes
Jeroen Poismans
Community Leader
Community Leader
Community Leaders are connectors, ambassadors, and mentors. On the online community, they serve as thought leaders, product experts, and moderators.
October 7, 2020

Hi Sergio,

Are you looking for a JQL to give you this result or rather a groovy script that gives you the issues in a list?

Sergio Sasso October 15, 2020

Hi Jeroen,

Thanks for your answer!

JQL would be perfect but I think a groovy script is the only one that can do the job.

So both solutions would work for me.

Thanks,

Sergio

Jeroen Poismans
Community Leader
Community Leader
Community Leaders are connectors, ambassadors, and mentors. On the online community, they serve as thought leaders, product experts, and moderators.
October 15, 2020

Hi Sergio,

JQL I don't think it's possible,might be with Scriptrunner issuefunction, but not really sure. 

Any way, here is a code snippet to get all the linked issues of 1 issue (1 and 3 in your example. Starting from this, you should get something working:

import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.issue.Issue
import com.atlassian.jira.issue.IssueManager
import com.atlassian.jira.issue.link.IssueLink
import com.atlassian.jira.issue.link.IssueLinkManager

IssueLinkManager issueLinkManager = ComponentAccessor.getIssueLinkManager()
IssueManager issueManager = ComponentAccessor.getIssueManager()

Issue issue2 = issueManager.getIssueObject("ISSUE-2")
List<IssueLink> inwardLinks = issueLinkManager.getInwardLinks(issue2.getId())
List<IssueLink> outwardLinks = issueLinkManager.getOutwardLinks(issue2.getId())

List<Issue> linkedIssues = new ArrayList<>()

for (IssueLink link : inwardLinks) {
linkedIssues.add(issueManager.getIssueObject(link.getDestinationId()))
}

for (IssueLink link : outwardLinks) {
linkedIssues.add(issueManager.getIssueObject(link.getDestinationId()))
}

return linkedIssues 

 

Let me know if this was any help!

Regards,

Jeroen

Sergio Sasso October 15, 2020

Thanks Jeroen,

I was getting this point already but not able to sort out the correlation between the 2 issues linked to ISSUE2 and present them.

basically I am missing the logic able to populate the arrey based on this correlation but containing only issue1 name and issue3 name and rehiterate for all the issues with this correlation.

Any other idea from your side?

Thanks,

Sergio

Jeroen Poismans
Community Leader
Community Leader
Community Leaders are connectors, ambassadors, and mentors. On the online community, they serve as thought leaders, product experts, and moderators.
October 22, 2020

Hi Sergio,

I can't quiet follow what you mean with "sorting out the correlations". Can you elaborate on what tour end result should look like?

 

Kind regards,

Jeroen

TAGS
AUG Leaders

Atlassian Community Events