Post 消息从 SQL 到 Slack 频道使用传入的 webhook

Post message from SQL to a Slack channel using incoming webhook

我想使用 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 在有副作用的意义上不是很优雅,但它完成了工作。