Support Questions

Find answers, ask questions, and share your expertise
Announcements
Celebrating as our community reaches 100,000 members! Thank you!

Can Oozie invoke and RestFul service for notification ?

avatar
Expert Contributor

Can Oozie invoke and RestFul service for notification ? Is there an example which can be used ...

1 ACCEPTED SOLUTION

avatar

@nyakkanti

you can make use of oozie java action or oozie shell action to make the REST API calls.

https://oozie.apache.org/docs/3.2.0-incubating/WorkflowFunctionalSpec.html#a3.2.7_Java_Action

https://oozie.apache.org/docs/3.3.0/DG_ShellActionExtension.html

below is a sample shell action calling python code

<action name="metrics">  <shell xmlns="uri:oozie:shell-action:0.2">   <job-tracker>${RESOURCE_MANAGER}</job-tracker>   <name-node>${NAME_NODE}</name-node>   <exec>oozie_hook.py</exec>  <argument>host</argument>   <argument>port</argument>   <file>${APP_PATH}/shell/oozie_hook.py#oozie_hook.py</file>  </shell>  <ok to="end"/>  <error to="kill"/> </action>

below is a sample python code ( not working for reference )

   url = "http://" + sys.argv[1] + ": " + sys.argv[2] + "/workflow/"

   r = requests.get(url,timeout=60)

View solution in original post

2 REPLIES 2

avatar

@nyakkanti

you can make use of oozie java action or oozie shell action to make the REST API calls.

https://oozie.apache.org/docs/3.2.0-incubating/WorkflowFunctionalSpec.html#a3.2.7_Java_Action

https://oozie.apache.org/docs/3.3.0/DG_ShellActionExtension.html

below is a sample shell action calling python code

<action name="metrics">  <shell xmlns="uri:oozie:shell-action:0.2">   <job-tracker>${RESOURCE_MANAGER}</job-tracker>   <name-node>${NAME_NODE}</name-node>   <exec>oozie_hook.py</exec>  <argument>host</argument>   <argument>port</argument>   <file>${APP_PATH}/shell/oozie_hook.py#oozie_hook.py</file>  </shell>  <ok to="end"/>  <error to="kill"/> </action>

below is a sample python code ( not working for reference )

   url = "http://" + sys.argv[1] + ": " + sys.argv[2] + "/workflow/"

   r = requests.get(url,timeout=60)

avatar
New Contributor

@Santhosh B Gowda

Why would you do that??? Why won't you just curl from the shell action? A part of me would die if I do this in my workflow!