有时候也许不想在每一次调用 Webhook 或收到邮件时,就立即触发一个警告,而是先对这次请求作出一些判断,再决定是否要触发一个警告。

开始

结合规则触发条件和模板变量,可以轻易地实现按条件决定是否触发警告。在规则触发条件中填入一个 JavaScript 表达式,该表达式中可以使用模板变量作为变量。当有新触发时(Webhook 或 邮件),会提取出模板变量后对该表达式进行运算求值。如果运算所得值为 JavaScript 中的 truthy 值,将会继续触发警告,否则将会跳过本次警告的触发。

例如有模板变量 code 和 message,想要实现在 code 为非空字符串、message 的长度大于 10 时才能触发警告,即可以在触发条件处填入“code && message.length > 10”(不包括引号)。

表达式格式

条件表达式的运算使用 Angular Expressions 实现,支持绝大部分 JavaScript 表达式与运算符,包括:

同时也可以使用部分 JavaScript 对象属性,比如获取字符串、数组的长度:var.length。

以下是一些条件表达式例子:

  • “foo || bar”:模板变量 foo 和 bar 只要有一个为  truthy 值 时则视为满足条件
  • “foo && bar”:模板变量 foo 和 bar 均为  truthy 值 时则视为满足条件
  • “foo.length > 10”:模板变量 foo 的长度大于 10 (foo 为数组时则多余10个元素;foo 为字符串时则字符串长度大于10)则视为满足条件
  • “cond ? foo : bar”:模板变量 cond 和 foo 均为 truthy 值,或 cond 为 falsy 值而 bar 为 truthy 值时,则视为满足条件