开发者

How do I select parameters in a KRL webhook?

I want to run some KRL rules when a website is updated. The deploy script will get the following URL after pushing the updates:

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

The ruleset to handle this webhook starts out like this:

rule site_updated {
    select when webhook updated
    pre {
        site = event:param("site");
        version = event:param("ve开发者_如何学编程rsion");
    }
    // do something with site and version
}

From http://docs.kynetx.com/docs/Event_API I could make more specific rules with:

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

Is there a way to get both parameters without a PRE block? What is the best way to use SELECT with a webhook?


Rule filters (like site "test") are regular expressions, and you can set variables using the setting () clause.

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

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

causes site to be set to production without using a pre block. As this is a regular expression, you can match anything, like either of two options:

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

will only match with site == test or site == production, and no other times, AND store the value in the site variable in the context of the rule.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜