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