You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@unomi.apache.org by "Jonathan Sinovassin (Jira)" <ji...@apache.org> on 2021/09/09 15:56:00 UTC
[jira] [Created] (UNOMI-508) Add groovy action endpoint
Jonathan Sinovassin created UNOMI-508:
-----------------------------------------
Summary: Add groovy action endpoint
Key: UNOMI-508
URL: https://issues.apache.org/jira/browse/UNOMI-508
Project: Apache Unomi
Issue Type: New Feature
Reporter: Jonathan Sinovassin
h3. Needs
We need to create actions from groovy script.
h3. Scope
* Creation of an index to store the script containing the action to be executed.
* Creation of an endpoint which allows to add/remove actions from a groovy file.
* Creation of action type from annotations present in the groovy file
* Integrations tests.
* Allow to deploy script on deployment of a Unomi bundle
Example of a groovy script to handle
{code:java}
import org.apache.unomi.api.services.EventService
import org.apache.unomi.groovy.actions.annotations.Action
import org.apache.unomi.groovy.actions.annotations.Parameter
import java.util.logging.Logger
@Action(id = "testGroovyAction",
description = "A test Groovy Action",
actionExecutor = "groovy:MyTest",
systemTags = ["tag1", "tag2"],
hidden = false,
parameters = [
@Parameter(id = "propertyName", type = "string", multivalued = false),
@Parameter(id = "setPropertyValueBoolean", type = "boolean", multivalued = false)
])
class MyAction {
Logger logger = Logger.getLogger("")
String execute(action, event) {
logger.info("Groovy action for event type: "+ event.getEventType())
EventService.NO_CHANGE
}
}
{code}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)