Automatically set resolution based on value of custom field


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

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"]) {

Suggest an answer

Log in or Sign up to answer
Community showcase
Published Mar 13, 2019 in Marketplace Apps

Marketplace Spotlight: Marketing apps for Confluence to keep your teams working on the same page


238 views 0 6
Read article

Atlassian User Groups

Connect with like-minded Atlassian users at free events near you!

Find a group

Connect with like-minded Atlassian users at free events near you!

Find my local user group

Unfortunately there are no AUG chapters near you at the moment.

Start an AUG

You're one step closer to meeting fellow Atlassian users at your local meet up. Learn more about AUGs

Groups near you