从Webhook调用Runbook时,为什么我的WebhookData为null?

时间:2016-02-10 05:55:08

标签: azure webhooks runbook

我创建了一个在SQL DB中插入记录的Runbook。然后我创建了一个webhook来调用Runbook。要插入的记录的数据在请求正文中作为JSON。但是,当我的Runbook被webhook调用时,我的WebhookData为null。 webhook在调用Runbook时应填充此对象。

是什么给出了?

以下是Runbook中的相关内容:

workflow MyRunbook
{
    param(
    [object] $WebhookData
    )

    inlinescript {
        Write-Output "WebhookData $WebhookData"

        $WebhookName = $WebhookData.WebhookName
        $WebhookHeader = $WebhookData.RequestHeader
        $WebhookBody = $WebhookData.RequestBody

        $Params = ConvertFrom-Json -InputObject $WebhookBody
        ...

当我从Fiddler调用webhook时,我在Azure仪表板中确认有一个输入:WEBHOOKDATA,内容看起来正确。但是来自运行的日志只显示:WebhookData [nothing]

然后在尝试ConvertFrom-Json时出现异常,因为WebhookBody为null。

任何想法在这里出了什么问题?

提前致谢。

1 个答案:

答案 0 :(得分:0)

我明白了。

我相信由于'inlinescript',任何带入webhook的变量都必须用'using'来引用。所以,这是我现在正在运行的更正代码。

workflow MyRunbook
{
    param(
    [object] $WebhookData
    )

    inlinescript {
        Write-Output "WebhookData $using:WebhookData"
    ...

这产生了预期的反应。