I am trying to create a custom field that counts the number of links to our external customer support system. I wrote the following off the the IssueLinkManager:
import com.atlassian.jira.component.ComponentAccessor
def issueLinkManager = ComponentAccessor.getIssueLinkManager()
def totalRemaining = 0
def externalLinkMatch = ~/SupportSystemName/
issueLinkManager.getIssueLinks(issue.id).each {issueLink ->
if (issueLink.toString().matches(externalLinkMatch)) {
totalRemaining += 1
}
}
return totalRemaining as Double ?: nullHowever nothing is returning when I do this. Does the IssueLinkManager not access external links? If not what class and method(s) should I be using?
You need a different interface:
com.atlassian.jira.issue.link.RemoteIssueLinkManager#getRemoteIssueLinksForIssue
Probably something like:
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.issue.link.RemoteIssueLinkManager
def remoteIssueLinkManager = ComponentAccessor.getComponent(RemoteIssueLinkManager)
remoteIssueLinkManager.getRemoteIssueLinksForIssue(issue).count {
it.url =~ /SupportSystemName/
} ?: null
Perfect! Thank you. Yes, this interface has everything that I need. Now if I can just get the regex matching to work!
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.