我想使用 Slack 传入 webhook 和 Invantive SQL 将基于 Exact Online 上的查询的消息发送到 Slack 频道。
如果没有大量 SQL 函数来正确转义 JSON,我该怎么办?
我想使用 Slack 传入 webhook 和 Invantive SQL 将基于 Exact Online 上的查询的消息发送到 Slack 频道。
如果没有大量 SQL 函数来正确转义 JSON,我该怎么办?
经过一些尝试,我发现这工作正常:
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 不是很优雅,它有副作用,但它确实完成了工作。