0

SQL DB にレコードを挿入する Runbook を作成しました。次に、Runbook を呼び出すための Webhook を作成しました。挿入するレコードのデータは、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 という 1 つの入力があり、コンテンツが正しいことを確認しました。しかし、実行からのログには次のように表示されます: WebhookData [nothing]

WebhookBody が null であるため、ConvertFrom-Json を実行しようとすると例外が発生します。

ここで何がうまくいかないのですか?

前もって感謝します。

4

1 に答える 1

0

私はそれを考え出した。

「inlinescript」のおかげで、Webhook に取り込まれる変数はすべて「using」で参照する必要があると思います。それで、これが現在動作している私の修正されたコードです。

workflow MyRunbook
{
    param(
    [object] $WebhookData
    )

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

これにより、期待どおりの応答が得られました。

于 2016-02-10T19:06:47.190 に答える