2016-02-10 4 views
0

Я создал рабочую книгу, которая вставляет запись в SQL DB. Затем я создал webhook для вызова рабочей книги. Данные для записи вставляются в тело запроса как JSON. Однако, когда моя рабочая книга вызывается webhook, мой WebhookData имеет значение null. Webhook должен заполнить этот объект, когда он вызывает рабочую книгу.Почему мой WebhookData null при вызове Runbook из Webhook?

Что дает?

Вот уместно содержание в 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 
     ... 

Когда я призываю webhook из Скрипач я подтвердил в приборной панели Azure, что есть один вход: WEBHOOKDATA и содержание выглядит правильно. Но журнал из прогона показывает: WebhookData [ничего]

Тогда возникает ошибка при попытке ConvertFrom-Json, потому что WebhookBody имеет значение NULL.

Любые идеи, что здесь не так?

Заранее спасибо.

ответ

0

Я понял.

Я считаю, что из-за «inlinescript» любые переменные, внесенные в веб-кейс, должны ссылаться на «использование». Итак, вот мой исправленный код, который работает сейчас.

workflow MyRunbook 
{ 
    param(
    [object] $WebhookData 
    ) 

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

Это вызвало ожидаемый отклик.