Script Runner to update custom field for workflow transition

Vijaya Medampudi December 20, 2016

Hi

 we are creating a workflow and during each transition custom field should be updated to the relevant status

eg: if workflow status moved from new  to Ready to Assesment then custom field should be updated to " In Assesment"

I am trying for issue type = "Task"  wit the below code and it's failing

 

import com.atlassian.jira.component.ComponentAccessor
def cfSelect = ComponentAccessor.customFieldManager.getCustomFieldObjectByName("Favourite Fruit")
def cfConfig = selectCf.getRelevantConfig(issue)
def value = ComponentAccessor.optionsManager.getOptions(cfConfig)?.find {
    it.toString() == 'Lemons'
}
issue.setCustomFieldValue(cfSelect, value)
Can you please help on this

5 answers

0 votes
Isaac_Philip March 30, 2017

Nevermind, I figured it out.

 

The Custom Field I was targeting wasn't getting retrieved due to incorrect Custom Field name.

I bet same issue would be for Vijaya!

0 votes
Isaac_Philip March 29, 2017

any update by @Vijaya on this ? I am facing similar errors. Is her problem solved?

  I am executing the script in post-function of Create Issue.

0 votes
Thanos Batagiannis _Adaptavist_
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.
December 22, 2016

Hey Vijaya,

Try to move your post function right before the Update change history ... step (3) 

regards, Thanos

0 votes
Vijaya Medampudi December 21, 2016

Hi,

I had executed the above and script and it fails. Please see below logs

The following log information was produced by this execution. Use statements like:log.info("...") to record logging information.

2016-12-22 13:59:20,023 ERROR [workflow.ScriptWorkflowFunction]: *************************************************************************************
2016-12-22 13:59:20,023 ERROR [workflow.ScriptWorkflowFunction]: Script function failed on issue: PT-40, actionId: 21, file: <inline script>
java.lang.NullPointerException: Cannot invoke method getRelevantConfig() on null object
	at Script262.run(Script262.groovy:11)

 

 

Please see the pic the flow I am using. Please let me  know whether it's right or not

Sylvain Leduc September 3, 2020

import com.atlassian.jira.component.ComponentAccessor


def cfSelect = ComponentAccessor.customFieldManager.getCustomFieldObjectByName("My CF")


def cfConfig = cfSelect.getRelevantConfig(issue)


def value = ComponentAccessor.optionsManager.getOptions(cfConfig)?.find {
it.toString() == 'The Value I want to set'
}


issue.setCustomFieldValue(cfSelect, value)

0 votes
Thanos Batagiannis _Adaptavist_
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.
December 21, 2016

Ji Vijaya,

I cannot see something wrong in your code, apart from the 

def cfConfig = selectCf.getRelevantConfig(issue)

which should be 

def cfConfig = cfSelect.getRelevantConfig(issue)

if your post function is before the store in the database step (or something similar) and of course an option with name Lemons is valid, then this should just work. 

regards, Thanos

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events