MCPcopy Create free account
hub / github.com/StackStorm/st2 / create_trigger_instance

Function create_trigger_instance

st2reactor/st2reactor/container/utils.py:28–57  ·  view source on GitHub ↗

This creates a trigger instance object given trigger and payload. Trigger can be just a string reference (pack.name) or a ``dict`` containing 'id' or 'uid' or type' and 'parameters' keys. :param trigger: Trigger reference or dictionary with trigger query filters. :type trigger:

(
    trigger, payload, occurrence_time, raise_on_no_trigger=False
)

Source from the content-addressed store, hash-verified

26
27
28def create_trigger_instance(
29 trigger, payload, occurrence_time, raise_on_no_trigger=False
30):
31 """
32 This creates a trigger instance object given trigger and payload.
33 Trigger can be just a string reference (pack.name) or a ``dict`` containing 'id' or
34 'uid' or type' and 'parameters' keys.
35
36 :param trigger: Trigger reference or dictionary with trigger query filters.
37 :type trigger: ``str`` or ``dict``
38
39 :param payload: Trigger payload.
40 :type payload: ``dict``
41 """
42 trigger_db = get_trigger_db_by_ref_or_dict(trigger=trigger)
43
44 if not trigger_db:
45 LOG.debug("No trigger in db for %s", trigger)
46 if raise_on_no_trigger:
47 raise StackStormDBObjectNotFoundError("Trigger not found for %s" % trigger)
48 return None
49
50 trigger_ref = trigger_db.get_reference().ref
51
52 trigger_instance = TriggerInstanceDB()
53 trigger_instance.trigger = trigger_ref
54 trigger_instance.payload = payload
55 trigger_instance.occurrence_time = occurrence_time
56 trigger_instance.status = TRIGGER_INSTANCE_PENDING
57 return TriggerInstance.add_or_update(trigger_instance)
58
59
60def update_trigger_instance_status(trigger_instance, status):

Calls 5

TriggerInstanceDBClass · 0.90
get_referenceMethod · 0.45
add_or_updateMethod · 0.45