为什么从 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"
...
这产生了预期的响应。
我创建了一本 运行 在 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"
...
这产生了预期的响应。