赋予空动态值的Azure Logic应用

时间:2019-10-03 20:02:07

标签: azure azure-logic-apps

我当前正在使用“收到HTTP请求时”触发器和“在Azure Dev Ops中创建工作项”操作。

这里的用例是使用其Webhooks从DeskPro接收JSON负载,然后使用JSON负载中提供的值创建Azure工作项(错误,故事等)。

当我尝试在“创建工作项”操作中使用“动态值”时,在操作中使用“动态值”并没有得到任何值。

我尝试使用Json Parser以及Initialize Variables操作,这两者都给我带来不了运气。

Logic App Issue

如何获取动态值以产生实际值?我已确认触发器已接收到JSON有效负载,并且传输正确。我也尝试过在有效负载中使用自定义标头(如下所示),但是没有运气。

任何建议将不胜感激。

2 个答案:

答案 0 :(得分:0)

如果要使用动态内容来获取价值,则必须确保Content-Typeapplication/json。您可以检查运行历史记录中的输出。如果Content-Type不正确,则动态内容将出错。

如果Content-Type是其他类型,您仍然可以发现它将处理数据,但是您需要将其解析为json然后选择值。因为您没有提供流程,所以我提供了我的流程,也许您可​​以参考它。

使用triggerBody作为ParseJSON内容,单击Use sample payload to generate schema并粘贴示例JSON数据。然后使用表达式获取类似body('Parse_JSON')['field']的值或使用动态内容。

enter image description here

希望这可以为您提供帮助,如果仍然有其他问题,请随时告诉我。

答案 1 :(得分:0)

我遇到了同样的问题,并最终解决了这个问题。出于某种原因,在这种情况下,当从接收 HTTP 请求时触发器开始时,如果您尝试在后续步骤中使用这些值,它似乎会从架构中填充空值,而不是在其输出中填充值。

通过更新动态公式以指定 triggerOutput 而不是 triggerBody,我能够让它填充实际接收的值,或者如果您需要解析 json,您可以使用 outputs('Parse_Json')而不是 body('Parse_Json')。除了将公式中的正文更改为输出之外,动态填充的公式的其余部分仍然相同。