Forums

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

Automatically set resolution based on value of custom field

Richard Crampton September 22, 2016

Hi,

Client has a use case of automatically setting the resolution on a sub-task during a transition based on the value of another custom field.

e.g. custom field has values of '1','2','3','4' & '5'. If the value set on the issue is 1-3, then set the resolution to 'Not Done', but if the values are 4-5, then set resolution to 'Done. 

Sure this is possible with scriptrunner, but not sure of the quickest and cleanest method of achiving this... any advice greatly appreciated. 

1 answer

1 accepted

2 votes
Answer accepted
JamieA
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.
September 25, 2016

Use something like the following in a post-function. Put it towards the top of the list of post-functions. You may as well remove Resolution from the screen:

import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.config.ResolutionManager

def resolutionManager = ComponentAccessor.getComponent(ResolutionManager)
def customFieldManager = ComponentAccessor.customFieldManager

def cf = customFieldManager.getCustomFieldObjectByName("Some custom field") // modify
def cfValue = issue.getCustomFieldValue(cf) as String

if (cfValue in ["1", "2", "3"]) {
    issue.setResolution(resolutionManager.getResolutionByName("Not Done"))
}
else if (cfValue in ["4", "5"]) {
    issue.setResolution(resolutionManager.getResolutionByName("Done"))
}

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events