Merge "Fixing indentation in 'create action' tutorial"

This commit is contained in:
Jenkins 2015-09-17 12:36:27 +00:00 committed by Gerrit Code Review
commit 09df1f7079

View File

@ -1,48 +1,53 @@
=============================
How to write an Action Plugin
=============================
1. Write a class inherited from mistral.actions.base.Action
::
from mistral.actions import base
.. code-block:: python
class RunnerAction(base.Action):
def __init__(self, param):
# store the incomming params
self.param = param
from mistral.actions import base
def run(self):
# return your results here
return {'status': 0}
class RunnerAction(base.Action):
def __init__(self, param):
# store the incomming params
self.param = param
2. Publish the class in a namespace
(in your setup.cfg)
def run(self):
# return your results here
return {'status': 0}
::
[entry_points]
mistral.actions =
example.runner = my.mistral_plugins.somefile:RunnerAction
2. Publish the class in a namespace (in your ``setup.cfg``)
.. code-block:: ini
[entry_points]
mistral.actions =
example.runner = my.mistral_plugins.somefile:RunnerAction
3. Reinstall Mistral if it was installed in system (not in virtualenv).
4. Run Db-sync tool via either::
*tools/sync_db.sh --config-file <path-to-config>*
4. Run db-sync tool via either
or::
.. code-block:: console
*mistral-db-manage --config-file <path-to-config> populate*
$ tools/sync_db.sh --config-file <path-to-config>
5. Use your plugin
or
* Now you can call the action "example.runner"
.. code-block:: console
::
$ mistral-db-manage --config-file <path-to-config> populate
Workflow:
tasks:
myaction:
action: example.runner
parameters:
param: avalue_to_pass_in
5. Now you can call the action ``example.runner``
.. code-block:: yaml
my_workflow:
tasks:
my_action_task:
action: example.runner
input:
param: avalue_to_pass_in