Skip to content

Conversation

@Kami
Copy link
Member

@Kami Kami commented May 11, 2015

Previously, rules engine would explode if a TriggerInstance dictionated payload contained a dot or $ in the key name.

640fd7215ce2f1a', u'end_timestamp': u'2015-05-11T21:33:10.971247Z'}}, 'execution_id': '555124210640fd7d31ab0409'}}
Traceback (most recent call last):
  File "/data/stanley/st2common/st2common/transport/consumers.py", line 59, in _process_message
    self._handler.process(body)
  File "/data/stanley/st2reactor/st2reactor/rules/worker.py", line 32, in process
    datetime.datetime.utcnow())
  File "/data/stanley/st2reactor/st2reactor/container/utils.py", line 62, in create_trigger_instance
    return TriggerInstance.add_or_update(trigger_instance)
  File "/data/stanley/st2common/st2common/persistence/base.py", line 83, in add_or_update
    model_object = cls._get_impl().add_or_update(model_object)
  File "/data/stanley/st2common/st2common/models/db/__init__.py", line 125, in add_or_update
    instance.save()
  File "/data/stanley/virtualenv/local/lib/python2.7/site-packages/mongoengine/document.py", line 224, in save
    self.validate(clean=clean)
  File "/data/stanley/virtualenv/local/lib/python2.7/site-packages/mongoengine/base/document.py", line 323, in validate
    raise ValidationError(message, errors=errors)
ValidationError: ValidationError (TriggerInstanceDB:None) (Invalid dictionary key name - keys may not contain "." or "$" characters: ['payload'])

This also resolves #1368

Kami added a commit that referenced this pull request May 12, 2015
…ce_payload

Allow dots in trigger instance payload (bug fix)
@Kami Kami merged commit 374ba1c into master May 12, 2015
@Kami Kami deleted the allow_dots_in_trigger_instance_payload branch May 12, 2015 10:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Custom webhook fails action depending on payload.

2 participants