我想使用Slack传入的webhooks和Invantive SQL将基于Exact Online的查询的消息发送到Slack通道。
如果没有大量的SQL函数来正确地转义JSON,我该怎么做?
答案 0 :(得分:1)
经过一些尝试,我发现这个工作正常:
select to_char
( httppost
( 'https://hooks.slack.com/services/XXX/YYY/zzzzzzzzz'
, 'application/json'
, to_binary
( '{'
|| jsonencode('channel')
|| ': '
|| jsonencode('#test')
|| ', '
|| jsonencode('username')
|| ': '
|| jsonencode('testuser')
|| ', '
|| jsonencode('text')
|| ': '
|| jsonencode('Companies in city of ' || act.city || ': ' || act.companynames)
|| '}'
)
)
)
from ( select act.city
, listagg(act.name) companynames
from exactonlinerest..accounts act
where act.city in ( 'Haelen', 'Horn', 'Heythuysen')
group
by act.city
)
HTTP POST不是很优雅,因为它有副作用,但它可以完成这项任务。