
We should have updated this some time ago. Importing mistral itself hasn't been the best way to write actions for a while. Change-Id: I27df8865f8fef81fcfd1cb3de1a2bde6c6281cf6
1.1 KiB
1.1 KiB
How to write a Custom Action
- Write a class inherited from mistral.actions.base.Action
from mistral_lib import actions class RunnerAction(actions.Action): def __init__(self, param): # store the incoming params self.param = param def run(self): # return your results here return {'status': 0}
- Publish the class in a namespace (in your
setup.cfg
)
[entry_points] mistral.actions = example.runner = my.mistral_plugins.somefile:RunnerAction
- Install the Python package containing the action. If this was added to Mistral itself it will need to be reinstalled.
- Run the following command so Mistral discovers the new action
$ mistral-db-manage --config-file <path-to-config> populate
- Now you can call the action
example.runner
my_workflow: tasks: my_action_task: action: example.runner input: param: avalue_to_pass_in