Groovy script in Insight automation rules not executed due to not in whitelist, missing file or lack permission

Platform Notice: Data Center Only - This article only applies to Atlassian products on the Data Center platform.

Note that this KB was created for the Data Center version of the product. Data Center KBs for non-Data-Center-specific features may also work for Server versions of the product, however they have not been tested. Support for Server* products ended on February 15th 2024. If you are running a Server product, you can visit the Atlassian Server end of support announcement to review your migration options.

*Except Fisheye and Crucible

Summary

Common Problems

The automation rule to trigger a Groovy script was triggered as expected but the script wasn't executed.

The following appears in the insight_automation.log.

Scenario 1 - script path is not whitelisted

1 2 2021-12-01 15:15:59,576 [insight-event-8] | GroovyScriptAction, got absFilePath: /Users/jira/jira-home/atlassian-jira-servicedesk-4.20.0/scripts/Move Object to Archive.groovy 2021-12-01 15:15:59,577 [insight-event-8] | GroovyScriptAction, not in whitelist, exit, absFilePath: /Users/jira/jira-home/atlassian-jira-servicedesk-4.20.0/scripts/Move Object to Archive.groovy

Scenario 2 - incorrect script path/script is not found

1 2 2021-12-01 15:15:59,576 [insight-event-8] | GroovyScriptAction, got absFilePath: /Users/jira/jira-home/atlassian-jira-servicedesk-4.20.0/scripts/Move Object to Archive.groovy 2021-12-01 15:15:59,577 [insight-event-8] | GroovyScriptAction, missing file, absFilePath: /Users/jira/jira-home/atlassian-jira-servicedesk-4.20.0/scripts/Move Object to Archive.groovy

Scenario 3 - Script file/folder permission

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 2021-12-01 15:50:50,076 [insight-event-4] | GroovyScriptAction, got absFilePath: /Users/jira/jira-home/atlassian-jira-servicedesk-4.20.0/scripts/Move Object to Archive.groovy 2021-12-01 15:50:50,078 [insight-event-4] | Execute groovy script: /Users/jira/jira-home/atlassian-jira-servicedesk-4.20.0/scripts/Move Object to Archive.groovy 2021-12-01 15:50:50,222 [insight-event-4] | AutomationRuleGroovyScriptAction, Unexpected error: /Users/jira/jira-home/atlassian-jira-servicedesk-4.20.0/scripts/Move Object to Archive.groovy can not be read. Check the read permission of the file "/Users/jira/jira-home/atlassian-jira-servicedesk-4.20.0/scripts/Move Object to Archive.groovy" (/Users/jira/jira-home/atlassian-jira-servicedesk-4.20.0/scripts/Move Object to Archive.groovy). java.lang.RuntimeException: /Users/jira/jira-home/atlassian-jira-servicedesk-4.20.0/scripts/Move Object to Archive.groovy can not be read. Check the read permission of the file "/Users/jira/jira-home/atlassian-jira-servicedesk-4.20.0/scripts/Move Object to Archive.groovy" (/Users/jira/jira-home/atlassian-jira-servicedesk-4.20.0/scripts/Move Object to Archive.groovy). at groovy.lang.GroovyCodeSource.<init>(GroovyCodeSource.java:118) at groovy.lang.GroovyShell.evaluate(GroovyShell.java:621) at com.riadalabs.jira.plugins.insight.services.core.impl.GroovyServiceImpl.evaluate(GroovyServiceImpl.java:86) at com.riadalabs.jira.plugins.insight.services.automation.action.AutomationRuleGroovyScriptAction.doActionSafe(AutomationRuleGroovyScriptAction.java:99) at com.riadalabs.jira.plugins.insight.services.automation.action.AbstractInsightAutomationAction.doAction(AbstractInsightAutomationAction.java:107) at com.riadalabs.jira.plugins.insight.services.automation.rule.impl.AutomationRuleEngineImpl.executeAction(AutomationRuleEngineImpl.java:669) at com.riadalabs.jira.plugins.insight.services.automation.rule.impl.AutomationRuleEngineImpl.executeActions(AutomationRuleEngineImpl.java:654) at com.riadalabs.jira.plugins.insight.services.automation.rule.impl.AutomationRuleEngineImpl.matchConditionAndExecuteActions(AutomationRuleEngineImpl.java:453) at com.riadalabs.jira.plugins.insight.services.automation.rule.impl.AutomationRuleEngineImpl.handleScheduledEvent(AutomationRuleEngineImpl.java:351) at com.riadalabs.jira.plugins.insight.services.automation.event.AutomationRuleEventListener.onScheduledEvent(AutomationRuleEventListener.java:112) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at com.google.common.eventbus.Subscriber.invokeSubscriberMethod(Subscriber.java:87) at com.google.common.eventbus.Subscriber$SynchronizedSubscriber.invokeSubscriberMethod(Subscriber.java:144) at com.google.common.eventbus.Subscriber$1.run(Subscriber.java:72) at com.atlassian.sal.core.executor.ThreadLocalDelegateRunnable.run(ThreadLocalDelegateRunnable.java:34) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at java.base/java.lang.Thread.run(Thread.java:829)

Diagnosis

Environment

  • Any Insight versions

Diagnostic Steps

  • For scenario 1 and 2, the status of the rule will be a green check mark even though the script actually failed to be executed. For scenario 3, the status of the rule will be a red exclamation mark as shown in the screenshot below.

    (Auto-migrated image: description temporarily unavailable)

Cause

Scenario 1

The path to the script is not whitelisted

Scenario 2

The path to the script is incorrect

Scenario 3

The script is not readable by all users especially the user running Jira

Solution

Resolution

Scenario 1

Each groovy script has to be whitelisted at Administration > Manage apps > Insight Whitelist. The full path to the script must be provided like in the example below.

(Auto-migrated image: description temporarily unavailable)

Scenario 2

Ensure that the full path to the script is provided correctly in the THEN action of the rule

Scenario 3

Ensure that the directory and the subdirectories where the script(s) is are readable by all users and also executable by the user running Jira. If the script(s) is in a folder resides in Jira home, follow How to fix directory permissions in Linux for Jira Server or How to fix directory permissions in Windows for Jira Server to fix all directories at once. An example of the directory and file permissions.

1 2 3 4 5 $ ls -al ~/jira-home/atlassian-jira-servicedesk-4.11.0/scripts total 8 drwxr-x--- 3 jira staff 96 Nov 24 21:47 . drwxr-xr-x 21 jira staff 672 Dec 1 15:48 .. -rw-r--r-- 1 jira staff 2421 Nov 24 21:47 Move Object to Archive.groovy

Updated on April 2, 2025

Still need help?

The Atlassian Community is here for you.