Skip to content

Decision Rule

mathcoll edited this page May 11, 2019 · 16 revisions

Decision-Rule is the event-based engine that trigger Actions following matching Conditions. Engine is watching for fact matching conditions on payloads coming from datapoint POST, and handle Action(s) according to rules.

Fact

The fact is actually the payload POSTed to datapoint endpoint. This contains some attributes that can be used in the matching Cnoditions

  • user_id
  • environment
  • dtepoch
  • value
  • flow
  • datetime

Conditions matching operators

Conditions supports combination by using all and any boolean operators. This give the ability for Rules to match multiple complex Conditions.

The following Condition will match when a datapoint is POSTed to flow_id cb518da8-xxxx-xxxx-xxxx-95b3b2bbfd8f and only when the environment is "development".

{
    "all": [
        {
            "fact": "environment",
            "operator": "equal",
            "value": "development"
        },
        {
            "fact": "flow",
            "operator": "equal",
            "value": "cb518da8-xxxx-xxxx-xxxx-95b3b2bbfd8f"
        }
    ]
}

Operators

Operators allows to compare the value of Facts and so determine when the Rule is matching Conditions.

Actions

  • mqttPublish
  • mqttCommand
  • email
  • httpWebhook
  • serial
  • sms: TODO
  • Ifttt: TODO
  • slackMessage: TODO
  • Please contact us by openning a new issue if any other Actions would be relevant to you.