Come for the products,
stay for the community

The Atlassian Community can help you and your team get more value out of Atlassian products and practices.

Atlassian Community about banner
4,359,886
Community Members
 
Community Events
168
Community Groups

ScriptRunner update custom field's value between linked issues, using Parent Link field

I am trying to match a custom field's value from a "Project" issue type into a "Feature" issue type, on update. These issue types are linked via the Parent Link field. 

ie. My custom field is called "Issue Category." If I update that field on the Project issue, I would like all linked Feature issues to automatically update, to match. 

Below is what I have so far...a mix of real code w/ psuedo-code  

import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.event.type.EventDispatchOption
import com.atlassian.jira.issue.MutableIssue
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.issue.Issue
import com.atlassian.jira.issue.ModifiedValue
import com.atlassian.jira.issue.util.DefaultIssueChangeHolder
import com.atlassian.jira.issue.comments.CommentManager
import com.atlassian.jira.user.ApplicationUser
import com.atlassian.jira.issue.link.IssueLink


Issue issue = event.issue

def change = event?.getChangeLog()?.getRelated("ChildChangeItem")?.find {it.field == "Issue Category"} // this should grab changes between linked issues, not child issues?

def customFieldManager = ComponentAccessor.getCustomFieldManager()
def field = customFieldManager.getCustomFieldObjects(event.issue).find { it.name == "Issue Category" }
def parentLink = customFieldManager.getCustomFieldObjectByName('Parent Link') // getting the Parent Link custom field
def featureValue = issue.getCustomFieldValue(field)
def issueManager = ComponentAccessor.getIssueManager();
def customFieldValue = issue.getCustomFieldValue(parentLink) // Parent Link field value
def parentKey = (String) customFieldValue
def parentIssue = issueManager.getIssueObject(parentKey) // Parent issue object
def parentValue = parentIssue.getCustomFieldValue(field)


// HERE IS WHERE I NEED HELP!!
if (parentValue == changed) then featureValue = parentValue

 

1 answer

Sorry Judeboy, looks like no can help you out....shout out my adaptivist peeps! 

Suggest an answer

Log in or Sign up to answer
TAGS
Community showcase
Published in Jira

Online AMA this week: Your project management questions answered by Jira Design Lead James Rotanson

We know that great teams require amazing project management chops. It's no surprise that great teams who use Jira have strong project managers, effective workflows, and secrets that bring planning ...

175 views 1 6
Read article

Atlassian Community Events