[
https://issues.apache.org/jira/browse/UNOMI-847?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Francois Gerthoffert updated UNOMI-847:
---------------------------------------
Description:
There's an issue in the way Groovy Actions are registered via the REST API,
causing further issues downstream when trying to call actions.
Create a groovy action, call it hello-world.groovy (from the doc):
{code:java}
@Action(id = "helloWorldGroovyAction",
actionExecutor = "groovy:helloWorldAction",
parameters = [@Parameter(id = "location", type = "string", multivalued
= false)])
def execute() {
logger.info("Hello {}", action.getParameterValues().get("location"))
EventService.NO_CHANGE
}
{code}
h2. Steps to reproduce:
* Start unomi 2.5.0
* Submit the action:
** curl -X POST 'http://localhost:8181/cxs/groovyActions' --user karaf:karaf
--form [email protected]
** In the logs:
{code:java}
04-jexperience-jcustomer-1 | 2024-08-26T12:16:57,786 | INFO |
qtp656712048-259 | GroovyActionsServiceImpl | 213 -
org.apache.unomi.groovy-actions-services - 2.4.0 | The script hello-world has
been persisted.
04-jexperience-jcustomer-1 | 2024-08-26T12:16:57,786 | INFO |
qtp656712048-259 | GroovyActionsServiceImpl | 213 -
org.apache.unomi.groovy-actions-services - 2.4.0 | The script hello-world has
been loaded. {code}
* List the actions using the karaf shell: "unomi:action-list"
* Notice the action is now listed as: "helloWorldGroovyAction"
* Delete the action:
** curl -X DELETE
'http://localhost:8181/cxs/groovyActions/helloWorldGroovyAction' --user
karaf:karaf
* List the actions using the karaf shell: "unomi:action-list"
** {color:#FF0000}*The action is still listed, no errors in unomi to indicate
that the deletion failed*{color}
was:
There's an issue in the way Groovy Actions are registered via the REST API,
causing further issues downstream when trying to call actions.
Create a groovy action, call it hello-world.groovy (from the doc):
{code:java}
@Action(id = "helloWorldGroovyAction",
actionExecutor = "groovy:helloWorldAction",
parameters = [@Parameter(id = "location", type = "string", multivalued
= false)])
def execute() {
logger.info("Hello {}", action.getParameterValues().get("location"))
EventService.NO_CHANGE
}
{code}
h2. Steps to reproduce:
* Start unomi 2.5.0
* Submit the action:
** curl -X POST 'http://localhost:8181/cxs/groovyActions' --user karaf:karaf
--form [email protected]
** In the logs:
{code:java}
04-jexperience-jcustomer-1 | 2024-08-26T12:16:57,786 | INFO |
qtp656712048-259 | GroovyActionsServiceImpl | 213 -
org.apache.unomi.groovy-actions-services - 2.4.0 | The script hello-world has
been persisted.
04-jexperience-jcustomer-1 | 2024-08-26T12:16:57,786 | INFO |
qtp656712048-259 | GroovyActionsServiceImpl | 213 -
org.apache.unomi.groovy-actions-services - 2.4.0 | The script hello-world has
been loaded. {code}
* List the actions using the karaf shell: "unomi:action-list"
* Notice the action is now listed as: "helloWorldGroovyAction"
* Delete the action:
** curl -X DELETE
'http://localhost:8181/cxs/groovyActions/helloWorldGroovyAction' --user
karaf:karaf
* List the actions using the karaf shell: "unomi:action-list"
** *The action is still listed*
> Unable to delete a groovy action
> --------------------------------
>
> Key: UNOMI-847
> URL: https://issues.apache.org/jira/browse/UNOMI-847
> Project: Apache Unomi
> Issue Type: Bug
> Affects Versions: unomi-2.5.0
> Reporter: Francois Gerthoffert
> Priority: Major
> Fix For: unomi-2.6.0
>
>
> There's an issue in the way Groovy Actions are registered via the REST API,
> causing further issues downstream when trying to call actions.
> Create a groovy action, call it hello-world.groovy (from the doc):
> {code:java}
> @Action(id = "helloWorldGroovyAction",
> actionExecutor = "groovy:helloWorldAction",
> parameters = [@Parameter(id = "location", type = "string",
> multivalued = false)])
> def execute() {
> logger.info("Hello {}", action.getParameterValues().get("location"))
> EventService.NO_CHANGE
> }
> {code}
> h2. Steps to reproduce:
> * Start unomi 2.5.0
> * Submit the action:
> ** curl -X POST 'http://localhost:8181/cxs/groovyActions' --user karaf:karaf
> --form [email protected]
> ** In the logs:
> {code:java}
> 04-jexperience-jcustomer-1 | 2024-08-26T12:16:57,786 | INFO |
> qtp656712048-259 | GroovyActionsServiceImpl | 213 -
> org.apache.unomi.groovy-actions-services - 2.4.0 | The script hello-world
> has been persisted.
> 04-jexperience-jcustomer-1 | 2024-08-26T12:16:57,786 | INFO |
> qtp656712048-259 | GroovyActionsServiceImpl | 213 -
> org.apache.unomi.groovy-actions-services - 2.4.0 | The script hello-world
> has been loaded. {code}
> * List the actions using the karaf shell: "unomi:action-list"
> * Notice the action is now listed as: "helloWorldGroovyAction"
> * Delete the action:
> ** curl -X DELETE
> 'http://localhost:8181/cxs/groovyActions/helloWorldGroovyAction' --user
> karaf:karaf
> * List the actions using the karaf shell: "unomi:action-list"
> ** {color:#FF0000}*The action is still listed, no errors in unomi to
> indicate that the deletion failed*{color}
>
--
This message was sent by Atlassian Jira
(v8.20.10#820010)