[
https://issues.apache.org/jira/browse/UNOMI-847?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Francois Gerthoffert updated UNOMI-847:
---------------------------------------
Summary: Unable to delete a groovy action / Issue when registering new
actions (was: Unable to delete a groovy action)
> Unable to delete a groovy action / Issue when registering new actions
> ---------------------------------------------------------------------
>
> 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"
> {code:java}
> karaf@root()> unomi:action-list
>
>
> Id │ Name
> │ System tags
> ────────────────────────────────────────┼─────────────────────────────────────────┼──────────────────────────────────────────────────────────────────
> addToListsAction │ addToListsAction
> │ profileTags,availableToEndUser,demographic
> allEventToProfilePropertiesAction │ allEventToProfilePropertiesAction
> │ profileTags,event
> copyPropertiesAction │ copyPropertiesAction
> │ profileTags,event
> evaluateProfileAgeAction │ evaluateProfileAgeAction
> │ profileTags,event
> evaluateProfileSegmentsAction │ evaluateProfileSegmentsAction
> │ profileTags,event
> evaluateVisitPropertiesAction │ evaluateVisitPropertiesAction
> │ profileTags
> eventToProfilePropertyAction │ eventToProfilePropertyAction
> │ profileTags,event
> helloWorldGroovyAction │ helloWorldGroovyAction
> │
> incrementPropertyAction │ incrementPropertyAction
> │ profileTags
> mergeProfilesOnPropertyAction │ mergeProfilesOnPropertyAction
> │ profileTags,demographic
> modifyConsentAction │ modifyConsentAction
> │ profileTags,demographic
> requestHeaderToProfilePropertyAction │
> requestHeaderToProfilePropertyAction │ profileTags,event
> requestParameterToProfilePropertyAction │
> requestParameterToProfilePropertyAction │ profileTags,event
> sendEventAction │ sendEventAction
> │ profileTags,event
> sendMailAction │ sendMailAction
> │ allowMultipleInstances,profileTags,availableToEndUser,event
> setEventOccurenceCountAction │ setEventOccurenceCountAction
> │ profileTags,demographic
> setPropertyAction │ setPropertyAction
> │ allowMultipleInstances,profileTags,availableToEndUser,demographic
> setRemoteHostInfoAction │ setRemoteHostInfoAction
> │ profileTags,event
> updatePropertiesAction │ updatePropertiesAction
> │ profileTags,demographic {code}
> * Notice the action is now listed with id "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}
> h2. Desired behavior
> It should be possible to delete a groovy action using DELETE
> h2. Workaround
> Note that it's possible to get groovy actions to work properly by submitting
> an action with a filename matching the desired id.
> * Start unomi 2.5.0
> * Submit the action:
> ** curl -X POST 'http://localhost:8181/cxs/groovyActions' --user karaf:karaf
> --form {color:#ff0000}[email protected]{color}
> ** In the logs:
> {code:java}
> 04-jexperience-jcustomer-1 | 2024-08-26T12:26:17,284 | INFO |
> qtp1534497314-264 | GroovyActionsServiceImpl | 213 -
> org.apache.unomi.groovy-actions-services - 2.4.0 | The script
> helloWorldGroovyAction has been persisted.
> 04-jexperience-jcustomer-1 | 2024-08-26T12:26:17,285 | INFO |
> qtp1534497314-264 | GroovyActionsServiceImpl | 213 -
> org.apache.unomi.groovy-actions-services - 2.4.0 | The script
> helloWorldGroovyAction has been loaded. {code}
> * List the actions using the karaf shell: "unomi:action-list"
> {code:java}
> karaf@root()> unomi:action-list
>
>
> Id │ Name
> │ System tags
> ────────────────────────────────────────┼─────────────────────────────────────────┼──────────────────────────────────────────────────────────────────
> addToListsAction │ addToListsAction
> │ profileTags,availableToEndUser,demographic
> allEventToProfilePropertiesAction │ allEventToProfilePropertiesAction
> │ profileTags,event
> copyPropertiesAction │ copyPropertiesAction
> │ profileTags,event
> evaluateProfileAgeAction │ evaluateProfileAgeAction
> │ profileTags,event
> evaluateProfileSegmentsAction │ evaluateProfileSegmentsAction
> │ profileTags,event
> evaluateVisitPropertiesAction │ evaluateVisitPropertiesAction
> │ profileTags
> eventToProfilePropertyAction │ eventToProfilePropertyAction
> │ profileTags,event
> helloWorldGroovyAction │ helloWorldGroovyAction
> │
> incrementPropertyAction │ incrementPropertyAction
> │ profileTags
> mergeProfilesOnPropertyAction │ mergeProfilesOnPropertyAction
> │ profileTags,demographic
> modifyConsentAction │ modifyConsentAction
> │ profileTags,demographic
> requestHeaderToProfilePropertyAction │
> requestHeaderToProfilePropertyAction │ profileTags,event
> requestParameterToProfilePropertyAction │
> requestParameterToProfilePropertyAction │ profileTags,event
> sendEventAction │ sendEventAction
> │ profileTags,event
> sendMailAction │ sendMailAction
> │ allowMultipleInstances,profileTags,availableToEndUser,event
> setEventOccurenceCountAction │ setEventOccurenceCountAction
> │ profileTags,demographic
> setPropertyAction │ setPropertyAction
> │ allowMultipleInstances,profileTags,availableToEndUser,demographic
> setRemoteHostInfoAction │ setRemoteHostInfoAction
> │ profileTags,event
> updatePropertiesAction │ updatePropertiesAction
> │ profileTags,demographic {code}
> * Notice the action is now listed with id "helloWorldGroovyAction"
> * Delete the action:
> ** curl -X DELETE
> 'http://localhost:8181/cxs/groovyActions/helloWorldGroovyAction' --user
> karaf:karaf
> ** Note: No logs are present (INFO) to indicate that the action was deleted.
> * List the actions using the karaf shell: "unomi:action-list"
> * The action is properly deleted
> {code:java}
> karaf@root()> unomi:action-list
>
>
> Id │ Name
> │ System tags
> ────────────────────────────────────────┼─────────────────────────────────────────┼──────────────────────────────────────────────────────────────────
> addToListsAction │ addToListsAction
> │ profileTags,availableToEndUser,demographic
> allEventToProfilePropertiesAction │ allEventToProfilePropertiesAction
> │ profileTags,event
> copyPropertiesAction │ copyPropertiesAction
> │ profileTags,event
> evaluateProfileAgeAction │ evaluateProfileAgeAction
> │ profileTags,event
> evaluateProfileSegmentsAction │ evaluateProfileSegmentsAction
> │ profileTags,event
> evaluateVisitPropertiesAction │ evaluateVisitPropertiesAction
> │ profileTags
> eventToProfilePropertyAction │ eventToProfilePropertyAction
> │ profileTags,event
> incrementPropertyAction │ incrementPropertyAction
> │ profileTags
> mergeProfilesOnPropertyAction │ mergeProfilesOnPropertyAction
> │ profileTags,demographic
> modifyConsentAction │ modifyConsentAction
> │ profileTags,demographic
> requestHeaderToProfilePropertyAction │
> requestHeaderToProfilePropertyAction │ profileTags,event
> requestParameterToProfilePropertyAction │
> requestParameterToProfilePropertyAction │ profileTags,event
> sendEventAction │ sendEventAction
> │ profileTags,event
> sendMailAction │ sendMailAction
> │ allowMultipleInstances,profileTags,availableToEndUser,event
> setEventOccurenceCountAction │ setEventOccurenceCountAction
> │ profileTags,demographic
> setPropertyAction │ setPropertyAction
> │ allowMultipleInstances,profileTags,availableToEndUser,demographic
> setRemoteHostInfoAction │ setRemoteHostInfoAction
> │ profileTags,event
> updatePropertiesAction │ updatePropertiesAction
> │ profileTags,demographic {code}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)