Forums

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

How set option in custom field JIRA? (Groovy)

Alex
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.
November 24, 2023

Hi, community!

I try set option in field wish scriptrunner in Post-function.

I wrote the code, but it doesn't update anything, it just clears the field from the value FOR SOMEHOW.. Please tell me what I'm doing wrong?


import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.user.ApplicationUser
import com.atlassian.jira.event.type.EventDispatchOption


def customFieldManager = ComponentAccessor.getCustomFieldManager()
def issueManager = ComponentAccessor.getIssueManager();


def changeCf = customFieldManager.getCustomFieldObjectByName("name cf")//cf id 24510
issue.setCustomFieldValue(changeCf, "name value option") //option value

 

option.png

1 answer

1 accepted

1 vote
Answer accepted
Alex
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.
November 24, 2023

I made the code. I hope it helps someone :

import com.atlassian.jira.user.ApplicationUser
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.event.type.EventDispatchOption

def currentUser = ComponentAccessor.jiraAuthenticationContext.loggedInUser
def issueManager = ComponentAccessor.getIssueManager()
def customFieldManager = ComponentAccessor.getCustomFieldManager()
def optionsManger =ComponentAccessor.getOptionsManager()

def customField = customFieldManager.getCustomFieldObjectsByName("cf name").first()
def availableOptions = ComponentAccessor.optionsManager.getOptions(customField.getRelevantConfig(issue))
def optionToSet = availableOptions.find { it.value == "option name" }
return optionToSet

def config = customField.getRelevantConfig(issue)

issue.setCustomFieldValue(customField, option)
issueManager.updateIssue(currentUser, issue, EventDispatchOption.ISSUE_UPDATED, false)

Suggest an answer

Log in or Sign up to answer