update a custom field with number type base on another custom field with same type

Mohammad Amin Sheikhzadegan March 16, 2017

want update a custom field with number type base on another custom field with number type

I want to do this with script runner listener but do not work correctly,

for example for number1 and number2 this is my code :

import com.atlassian.jira.issue.Issue
import com.atlassian.jira.issue.ModifiedValue
import com.atlassian.jira.issue.util.DefaultIssueChangeHolder
import com.atlassian.jira.component.ComponentAccessor
 
def issue = event.issue as Issue
def customFieldManager = ComponentAccessor.getCustomFieldManager()
def number1 = customFieldManager.getCustomFieldObjects(event.issue).find {it.name == "number1"}
def number2 = customFieldManager.getCustomFieldObjects(event.issue).find {it.name == "number2"}
def changeHolder = new DefaultIssueChangeHolder()
number1.updateValue(null, issue, new ModifiedValue(issue.getCustomFieldValue(number1), number2),changeHolder)

1 answer

1 accepted

1 vote
Answer accepted
Vasiliy Zverev
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.
March 16, 2017

Try this one

import com.atlassian.jira.event.type.EventDispatchOption
import com.atlassian.jira.issue.CustomFieldManager
import com.atlassian.jira.issue.MutableIssue
import com.atlassian.jira.issue.UpdateIssueRequest
import com.atlassian.jira.component.ComponentAccessor

def issue = event.issue as MutableIssue
CustomFieldManager customFieldManager = ComponentAccessor.getCustomFieldManager()

issue.setCustomFieldValue(
        customFieldManager.getCustomFieldObjectByName("number1"),
        issue.getCustomFieldValue(customFieldManager.getCustomFieldObjectByName("number2"))
)

ComponentAccessor.getIssueManager().updateIssue(
        ComponentAccessor.getJiraAuthenticationContext().getUser(),
        issue,
        UpdateIssueRequest.builder().eventDispatchOption(EventDispatchOption.ISSUE_UPDATED).sendMail(false).build()
)
Mohammad Amin Sheikhzadegan March 16, 2017

thanks so much, that work correctly

of course when number1 and number2 field are script runner custom field, that do not work but when one of field is normal custom field, it work

thank again Vasiliy wink

Suggest an answer

Log in or Sign up to answer