2010-12-07 64 views
3

我想在更新网站时运行一些KRL规则。如何在KRL webhook中选择参数?

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

处理这种网络挂接的规则集开始时是这样的::

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

你在URL中的`/ update`和`当webhook更新时选择`不匹配,但我认为你打算他们。 – TelegramSam 2010-12-07 23:55:21

回答

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) 

将只匹配与网站==测试或现场==生产,并没有其他的时间,并将其存储在值了规则上下文中的站点变量。