Display a field from a linked ticket

Brooke Anglin June 17, 2019

Good Morning ! ScriptRunner assisted with the code below, which allows me to copy a date field from a linked ticket. I now need assistance making changes to the code below so I can also pull in a text field. Specifically the field I need to pull in is a single select field. Any help would be greatly appreciated !

 

import com.atlassian.jira.component.ComponentAccessor

import com.atlassian.jira.issue.link.IssueLink

 

log.warn("--- Start script -----------------------------------")

 

def issueLinkManager = ComponentAccessor.issueLinkManager

def customFieldManager = ComponentAccessor.customFieldManager

def customField = customFieldManager.getCustomFieldObject(10508 as long)// Change 10007 with your "Incident Start Date/Time" custom field ID

log.warn("customField = $customField")

 

def links = new HashSet<IssueLink>()

 

def outwardsLinks = issueLinkManager.getOutwardLinks(issue.id)

log.warn("outwardsLinks = $outwardsLinks")

def linktypeOutNames = outwardsLinks*.issueLinkType.name

log.warn("outwardsLinksTypes = $linktypeOutNames")

links.addAll(outwardsLinks)

 

def inwardsLinks = issueLinkManager.getInwardLinks(issue.id)

log.warn("inwardsLinks = $inwardsLinks")

def linktypeInNames = inwardsLinks*.issueLinkType.name

log.warn("inwardsLinksTypes = $linktypeInNames")

links.addAll(inwardsLinks)

 

for (IssueLink issueLink : links) {

    log.warn("issueLink = $issueLink.issueLinkType.name")

    if (issueLink.getIssueLinkType().name == "Relates") {

        def issueToCheck

        if(issueLink.sourceId == issue.id){

            issueToCheck = issueLink.destinationObject

        }else{

            issueToCheck = issueLink.sourceObject

        }

        log.warn("issueToCheck = $issueToCheck")

        try{

            return customField.getValue(issueToCheck) as Date

        }catch(e){

            e.printStackTrace()

            return null as Date

        }

    }

}

log.warn("Not able to find any suitable outwards link")

log.warn("------------------------------------------- End script ---")

return null as Date

 

Thank you

1 answer

Suggest an answer

Log in or Sign up to answer
0 votes
MoroSystems Support
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
June 24, 2019

Hi,

If you just want to display selected value of Single select field from linked ticket just set template of your scripted field to "Text Field" and change all return values in script from Date to String (i.e. - "return customField.getValue(issueToCheck) as Date" -> "return customField.getValue(issueToCheck) as String"). That should do the trick. Of course you have to change your custom field ID accordingly.

I hope it will be helpful.

TAGS
AUG Leaders

Atlassian Community Events