2010-12-07 57 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) 

將只匹配與網站==測試或現場==生產,並沒有其他的時間,並將其存儲在值了規則上下文中的站點變量。