我希望在网站更新时运行一些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一起使用的最佳方法是什么?
答案 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变量中。