Skip to content

Commit 5d5595e

Browse files
authored
Merge pull request #5383 from StackStorm/trigger_name_collission
`core.inject_trigger`: resolve `trigger` payload shadowing by renaming `trigger` param to `trigger_name` (backwards compatible)
2 parents c917635 + 2802e28 commit 5d5595e

File tree

3 files changed

+25
-2
lines changed

3 files changed

+25
-2
lines changed

CHANGELOG.rst

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,11 @@ Fixed
9494

9595
Contributed by @guzzijones
9696

97+
* ``core.inject_trigger``: resolve ``trigger`` payload shadowing by deprecating ``trigger`` param in favor of ``trigger_name``.
98+
``trigger`` param is still available for backwards compatibility, but will be removed in a future release. #5335 and #5383
99+
100+
Contributed by @mjtice
101+
97102
3.5.0 - June 23, 2021
98103
---------------------
99104

contrib/core/actions/inject_trigger.py

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121

2222

2323
class InjectTriggerAction(Action):
24-
def run(self, trigger, payload=None, trace_tag=None):
24+
def run(self, trigger=None, trigger_name=None, payload=None, trace_tag=None):
2525
payload = payload or {}
2626

2727
datastore_service = self.action_service.datastore_service
@@ -32,6 +32,18 @@ def run(self, trigger, payload=None, trace_tag=None):
3232
# results in a TriggerInstanceDB database object creation or not. The object is created
3333
# inside rulesengine service and could fail due to the user providing an invalid trigger
3434
# reference or similar.
35+
36+
# Raise an error if both trigger and trigger_name are specified
37+
if trigger and trigger_name:
38+
raise ValueError(
39+
"Parameters `trigger` and `trigger_name` are mutually exclusive."
40+
)
41+
42+
# Raise an error if neither trigger nor trigger_name are specified
43+
if not trigger and not trigger_name:
44+
raise ValueError("You must include the `trigger_name` parameter.")
45+
46+
trigger = trigger if trigger else trigger_name
3547
self.logger.debug(
3648
'Injecting trigger "%s" with payload="%s"' % (trigger, str(payload))
3749
)

contrib/core/actions/inject_trigger.yaml

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,15 @@ enabled: true
66
entry_point: inject_trigger.py
77
parameters:
88
trigger:
9+
type: string
10+
description: |
11+
Trigger reference (e.g. mypack.my_trigger).
12+
This parameter is superceded by `trigger_name` but left for backwards compatibility.
13+
required: false
14+
trigger_name:
915
type: string
1016
description: Trigger reference (e.g. mypack.my_trigger).
11-
required: true
17+
required: false
1218
payload:
1319
type: object
1420
description: Trigger payload.

0 commit comments

Comments
 (0)