Post function condition based on radio button custom field value not functioning

Edited
import com.atlassian.jira.component.ComponentAccessor

import com.atlassian.jira.event.type.EventDispatchOption

import com.atlassian.jira.user.ApplicationUser



def customFieldManager = ComponentAccessor.customFieldManager

def userManager = ComponentAccessor.userManager

def issueManager = ComponentAccessor.issueManager

def loggedInUser = ComponentAccessor.jiraAuthenticationContext.loggedInUser



def radioButton = customFieldManager.getCustomFieldObjectsByName('Some Custom Field').first()


def radioButtonValue = issue.getCustomFieldValue(radioButton) as Map



def approversField = customFieldManager.getCustomFieldObjectsByName('Approvers').first()



if ( "Custom Field Value" ) {def cf = customFieldManager.getCustomFieldObjects(issue).find {it.name == 'Approvers'}

List<ApplicationUser> userList = new ArrayList<>()

userList.add(userManager.getUserByName("tbob"))

issue.setCustomFieldValue(cf, userList);

} else {

    issue.setCustomFieldValue(approversField, null)

}


issueManager.updateIssue(loggedInUser, issue, EventDispatchOption.DO_NOT_DISPATCH, false)

3 answers

1 accepted

0 votes
Answer accepted
The following has worked: 

def customFieldManager = ComponentAccessor.customFieldManager

def userManager = ComponentAccessor.userManager

def issueManager = ComponentAccessor.issueManager

def loggedInUser = ComponentAccessor.jiraAuthenticationContext.loggedInUser

def approversField = customFieldManager.getCustomFieldObjectsByName('Approvers').first()

import com.atlassian.jira.component.ComponentAccessor

import com.atlassian.jira.user.ApplicationUser

import com.atlassian.jira.event.type.EventDispatchOption

import com.atlassian.jira.issue.fields.CustomField

import com.atlassian.jira.issue.Issue

 

CustomField radioButton = ComponentAccessor.getCustomFieldManager().getCustomFieldObjectByName("Custom Field Name");

 

if(radioButton == null)

    return false

 

if(radioButton.getValue(issue).toString().equals("Value"))

  {def cf = customFieldManager.getCustomFieldObjects(issue).find {it.name == 'Approvers'}

List<ApplicationUser> userList = new ArrayList<>()

userList.add(userManager.getUserByName("tbob"))

issue.setCustomFieldValue(cf, userList);

} else {

    issue.setCustomFieldValue(approversField, null)

}

issueManager.updateIssue(loggedInUser, issue, EventDispatchOption.DO_NOT_DISPATCH, false)



@Ram Kumar Aravindakshan _Adaptavist_ any chance you could help me with this one ?

I've also  attempted the following condition with no luck 
issue.issueType.name == 'IssueTypeName'

cfValues['CustomFieldName']?.value == "CustomFieldValue"

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events