Hello Community,
I am trying to change the value of a custom field of type checkbox.
I found code online that allows for this to hapen but I cant get it to work.
IssueService issueService = ComponentAccessor.getComponent(IssueService);
def optionsManager = ComponentAccessor.getComponent(OptionsManager);
IssueInputParameters issueInputParameters = issueService.newIssueInputParameters()
Issue issue = issueService.getIssue(user, documentIssue.getKey())?.issue
CustomField customField = customFieldManager.getCustomFieldObjectByName("Dev Reviewed")
Options options = optionsManager.getOptions(customField.getConfigurationSchemes().first().getOneAndOnlyConfig());
def selectedOptions = options.findAll {
it.value == "Yes"
}.collect {
it.optionId.toString()
}
issueInputParameters.addCustomFieldValue(customField.id, *selectedOptions)
def update = issueService.validateUpdate(user, issue.id, issueInputParameters)
if (update.isValid()) {
issueService.update(user, update)
}
Could someone walk me through this code and explain what is happening.
Primarly I am confused with how to set up my issueInputParameter such that it has the value I want for my Custom Field of type checkbox, which is value "Yes".
Furthermore, I fail to understand what Options are and how I can levarage them to succesfully update a custom field.
Thank you for your time and expertise!
-Roberto
Hi Community,
I figured this out myself.
IssueService: Used to update issues correctly
Options: Returns the options available for my customField. I need to get the ID of such options to change a value.
IssueInputParameter: Provide my the custom field I want changed and the ID as a string of the value which I want to change in the custom field
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.