Issue Summary
The Asset automation rule for creating Jira tickets fails when the Select List (single choice) custom field is set as required and has a default value configured.
Steps to Reproduce
- Created a custom field of type “Select List (single choice).”
- Added this custom field to the issue screen.
- Under the field configuration, configure custom field as "Required."
- Configured a default value for the custom field.
- Created a Asset automation rule to create a Jira issue when the object is updated.
Expected Results
Asset automation should create a Jira ticket.
Actual Results
Unfortunately, the Jira issue creation failed, and observed the below errors in the logs. In the logs below, "select" is the name of the Select List custom field that I created.
2025-02-14 06:25:58,554 [insight-event-0] | Execute Rule action (AutomationRuleCreateJiraIssueAction): Start, id: 2, event [id: 1, aql: No aql], condition: objectType = "SOT" 2025-02-14 06:25:58,560 [insight-event-0] | AutomationRuleCreateJiraIssueAction, Unexpected error: com.atlassian.jira.util.SimpleErrorCollection@291ce2e4[errors={customfield_10700=Select is required.},errorMessages=[],reasons=[VALIDATION_FAILED]] com.riadalabs.jira.plugins.insight.common.exception.JiraServiceInsightException: com.atlassian.jira.util.SimpleErrorCollection@291ce2e4[errors={customfield_10700=Select is required.},errorMessages=[],reasons=[VALIDATION_FAILED]] at com.riadalabs.jira.plugins.insight.services.jira.JIRAServiceImpl.createIssue(JIRAServiceImpl.java:590) ~[insight-10.12.1-QR-0273.jar:?] at com.riadalabs.jira.plugins.insight.services.jira.JIRAServiceImpl.createIssue(JIRAServiceImpl.java:543) ~[insight-10.12.1-QR-0273.jar:?] at com.riadalabs.jira.plugins.insight.services.automation.action.AutomationRuleCreateJiraIssueAction.doActionSafe(AutomationRuleCreateJiraIssueAction.java:64) ~[insight-10.12.1-QR-0273.jar:?] at com.riadalabs.jira.plugins.insight.services.automation.action.AbstractInsightAutomationAction.doAction(AbstractInsightAutomationAction.java:107) ~[insight-10.12.1-QR-0273.jar:?] at com.riadalabs.jira.plugins.insight.services.automation.rule.impl.AutomationRuleEngineImpl.executeAction(AutomationRuleEngineImpl.java:692) ~[insight-10.12.1-QR-0273.jar:?] at com.riadalabs.jira.plugins.insight.services.automation.rule.impl.AutomationRuleEngineImpl.executeActions(AutomationRuleEngineImpl.java:677) ~[insight-10.12.1-QR-0273.jar:?] at com.riadalabs.jira.plugins.insight.services.automation.rule.impl.AutomationRuleEngineImpl.matchConditionAndExecuteActions(AutomationRuleEngineImpl.java:470) ~[insight-10.12.1-QR-0273.jar:?] at com.riadalabs.jira.plugins.insight.services.automation.rule.impl.AutomationRuleEngineImpl.executeAsConfiguredUser(AutomationRuleEngineImpl.java:268) ~[insight-10.12.1-QR-0273.jar:?] at com.riadalabs.jira.plugins.insight.services.automation.rule.impl.AutomationRuleEngineImpl.handleAsyncEvent(AutomationRuleEngineImpl.java:218) ~[insight-10.12.1-QR-0273.jar:?] at com.riadalabs.jira.plugins.insight.services.automation.event.AutomationRuleEventListener.onAsyncEvent(AutomationRuleEventListener.java:94) ~[insight-10.12.1-QR-0273.jar:?] at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?] at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?] at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?] at java.lang.reflect.Method.invoke(Method.java:569) ~[?:?] at com.google.common.eventbus.Subscriber.invokeSubscriberMethod(Subscriber.java:85) ~[guava-32.1.1-jre.jar:?] at com.google.common.eventbus.Subscriber.lambda$dispatchEvent$0(Subscriber.java:71) ~[guava-32.1.1-jre.jar:?] at com.atlassian.sal.core.executor.ThreadLocalDelegateRunnable.run(ThreadLocalDelegateRunnable.java:34) ~[?:?] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) ~[?:?] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) ~[?:?] at java.lang.Thread.run(Thread.java:840) ~[?:?]
Workaround
Reconfiguring the automation action to utilize an HTTP Request or executing a Groovy script can serve as a viable workaround, if feasible.
- links to