0

我创建了一个在 SQL DB 中插入记录的运行手册。然后,我创建了一个 webhook 来调用 Runbook。要插入的记录的数据以 JSON 格式在请求正文中。但是,当我的 runbook 被 webhook 调用时,我的 WebhookData 为空。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 仪表板中确认有一个 Input: WEBHOOKDATA 并且内容看起来正确。但是运行日志只显示:WebhookData [nothing]

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

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

提前致谢。

4

1 回答 1

0

我想到了。

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

workflow MyRunbook
{
    param(
    [object] $WebhookData
    )

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

这产生了预期的反应。

于 2016-02-10T19:06:47.190 回答