How to get a indirectly linked issue

Hi all,

so I'm very new to Jira Groovy and I have following problem:

In my JIRA project I have Services which are implemented by Features which are implemented by Feature Increments. So I want to create a scripted field which shows the summary of the Service the Issue belongs to and I came up with he following code:



    import com.atlassian.jira.component.ComponentAccessor
    import com.atlassian.jira.issue.link.IssueLinkManager
    import com.atlassian.jira.bc.project.component.ProjectComponent
    import com.atlassian.jira.issue.Issue

    //The current user is needed as a parameter in some functions.
    def authenticationContext=ComponentAccessor.getJiraAuthenticationContext()
    def user=authenticationContext.getLoggedInUser()
    def linkManager = ComponentAccessor.getIssueLinkManager()

    //Get all issues that are linked via "implements".
    def linkedOfType =     linkManager.getLinkCollection(issue,user).getOutwardIssues("Implements")

    //When the issue implements something.
    for(issue in linkedOfType){
    
        //If the linked issue is a feature get this feature and search its     linked issues for service and return the summary of this service.
        if (issue.getIssueType().getName().toString().equals("Feature_Tile")){
       
          }    
    
        //If the linked issue is a service return the summary of this service.    
        if (issue.getIssueType().getName().toString().equals("Service")){
           String serviceName = issue.summary
           return serviceName
        }
    } 


The problem is now, that the field works fine if the issue implements a Service, but not if the issue implements a Feature, because I don't know how to get the linked Issues of this feature to search them for Services.
So my Question is: how can I get the Service if my issue only implements a Feature?

1 answer

0 votes
Micky Caritte Community Champion Dec 07, 2017

Hi Tina,

I think you should re-use your code from the Feature level to the service level,  something like:

...
//
If the linked issue is a feature get this feature and search its     linked issues for service and return the summary of this service.
        if (issue.getIssueType().getName().toString().equals("Feature_Tile")){
        def linkedService = linkManager.getLinkCollection(issue,user).getOutwardIssues("Implements")
for(iss in linkedService){
if (iss.getIssueType().getName().toString().equals("Service")){
return iss.summary
}
}
          }    
...

Let us know if it works!

Cheers

Hi Micky,

thanks for your answer!

I think that would probably work fine, but I already managed to solve my problem, by rewriting my code and using a while loop with a switch in it.

Micky Caritte Community Champion Dec 11, 2017

Great!

Have a great day.

Suggest an answer

Log in or Join to answer
Community showcase
Sarah Schuster
Posted Jan 29, 2018 in Jira

What are common themes you've seen across successful & failed Jira Software implementations?

Hey everyone! My name is Sarah Schuster, and I'm a Customer Success Manager in Atlassian specializing in Jira Software Cloud. Over the next few weeks I will be posting discussion topics (8 total) to ...

2,739 views 11 18
Join discussion

Atlassian User Groups

Connect with like-minded Atlassian users at free events near you!

Find a group

Connect with like-minded Atlassian users at free events near you!

Find my local user group

Unfortunately there are no AUG chapters near you at the moment.

Start an AUG

You're one step closer to meeting fellow Atlassian users at your local meet up. Learn more about AUGs

Groups near you
Atlassian Team Tour

Join us on the Team Tour

We're bringing product updates and pro tips on teamwork to ten cities around the world.

Save your spot