Forums

Articles
Create
cancel
Showing results for 
Search instead for 
Did you mean: 

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

Judah
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.
January 22, 2019

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

Suggest an answer

Log in or Sign up to answer
0 votes
Judah
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.
February 8, 2019

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

TAGS
AUG Leaders

Atlassian Community Events