1

我想使用 Slack 传入 webhook 和 Invantive SQL 将基于 Exact Online 上的查询的消息发送到 Slack 频道。

如果没有大量 SQL 函数来正确转义 JSON,我该怎么办?

4

1 回答 1

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 不是很优雅,它有副作用,但它确实完成了工作。

于 2017-06-01T16:03:42.577 回答