3

我们将mattermost其用作slack.

我怎样才能写到最重要的频道例如通过脚本,使用curl

我需要知道:

  • 如何从mattermost获得“集成密钥”
  • curl命令的格式

我的脚本示例适用于slack

SLACK_URL='https://hooks.slack.com/services/my-long-integration-key'
message='Project XYZ was released successfully.'

curl -X POST -H "Content-Type: application/json" \
    --data "{ \"channel\": \"#releases\", \"username\": \"$me\", \"text\": \"$MESSAGE\" }" \
    $SLACK_URL &> /dev/null

确实有一个Mattermost API(相当于slack-api),但我正在努力寻找一个很好的例子来说明我想做的事情。

谢谢

4

2 回答 2

5

这是格式,使用curl和 json 有效负载:

curl -i -X POST -d 'payload={"text": "Hello, world!", "username":"xxx", "channel":"yyy"}' \
https://mattermost.intern.mycompany.com/hooks/abcdefg1234567
于 2016-04-13T10:37:44.430 回答
1

对于其他人,我建议使用该jq程序curl(您的发行版可能在标准存储库中有一个包装)。它将任何文本输入转换为有效的 JSON 数据。

例如一个名为matmo.sh

#!/bin/bash
MATTERMOST_HOOK_URL=https://mattermost.example.com/hooks/long-random-hook-id
data="$(jq --slurp --raw-input --compact-output --arg channel $1 --arg username $2 '{$channel, $username, text:.}')"
curl -X POST -H 'Content-Type: application/json' -d "$data" "$MATTERMOST_HOOK_URL" &> /dev/null

然后像这样使用它:

command-that-produces-output | ./matmo.sh '#releases' 'releasebot'
于 2020-09-23T04:03:09.730 回答