如何在Azure Logic Apps的Slack Webhook中正确展示数组内容
问题根因
- 你传入Slack的参数本身是数组类型,直接插入文本字段时Logic Apps会自动将其序列化为JSON字符串,因此会自带
[]、引号等符号 - 原有处理逻辑存在三处问题:
- ListOfTestNames本身已经是数组类型,无需转字符串后再用split拆分,属于冗余操作
- Compose操作中引用的属性名拼写错误,你写的是
ListOfTesNames,和触发字段ListOfTestNames相比少了字母t - 没有将数组元素拼接为纯文本字符串就直接传入Slack消息体
解决方案
直接使用join函数将数组元素按换行符拼接为纯文本即可,同时可以用trim函数清除每个元素自带的多余换行符:
- 修改Compose操作的输入表达式为:
@join(select(triggerBody()?['ListOfTestNames'], trim(item())), '\n') - 修改Slack Webhook的对应section配置为:
{ "text": { "text": "*[dev] Testing:* \n ListOfTestNames \n@{outputs('Compose')}", "type": "mrkdwn" }, "type": "section" }
如果不想单独加Compose操作,也可以直接把上述表达式写到Slack消息的text字段中,效果一致。
内容的提问来源于stack exchange,提问作者Kenny_I
相关产品推荐
相关产品推荐

