如何在KRL webhook中选择参数?

时间:2010-12-07 15:48:15

标签: krl webhooks

我希望在网站更新时运行一些KRL规则。推送更新后,部署脚本将获得以下URL:

http://webhooks.kynetxapps.net/t/_appid_/updated?site=production&version=123456abcdef

处理此webhook的规则集开头如下:

rule site_updated {
    select when webhook updated
    pre {
        site = event:param("site");
        version = event:param("version");
    }
    // do something with site and version
}

http://docs.kynetx.com/docs/Event_API我可以制作更具体的规则:

select when webhook updated site "test"
    or webhook updated site "production"

有没有办法在没有PRE块的情况下获取两个参数?将SELECT与webhook一起使用的最佳方法是什么?

1 个答案:

答案 0 :(得分:1)

规则过滤器(如site "test")是正则表达式,您可以使用setting ()子句设置变量。

http://webhooks.kynetxapps.net/t/_appid_/update?site=production&version=123456abcdef

select when webhook update site "(.*)" setting(site)

导致site设置为production而不使用预阻止。由于这是一个正则表达式,您可以匹配任何内容,例如两个选项之一:

select when webhook update site "(test|production)" setting(site)

只会匹配site == test或site == production,而不会与其他时间匹配,并将值存储在规则上下文中的site变量中。