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

Why is my WebhookData null when invoking a Runbook from a Webhook?

我创建了一本 运行 在 SQL 数据库中插入一条记录的书。然后我创建了一个 webhook 来调用 运行book。要插入的记录的数据在请求正文中为 JSON。但是,当我的 运行book 被 webhook 调用时,我的 WebhookData 为空。 Webhook 应在调用 运行book.

时填充此对象

什么给了?

以下是操作手册中的相关内容:

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为null。

知道这里出了什么问题吗?

提前致谢。

我想通了。

我相信因为 'inlinescript',任何引入 webhook 的变量都必须用 'using' 引用。所以,这是我现在可以使用的更正代码。

workflow MyRunbook
{
    param(
    [object] $WebhookData
    )

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

这产生了预期的响应。