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?
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.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Great!
Have a great day.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.