Синтаксическая справка - добавление вложений, чтобы расслабить входящие веб-хуки

Я пишу слабую интеграцию и пытаюсь добавить вложение сообщения, но я застрял в синтаксисе объединения всего этого в оператор curl.

Это основной оператор curl, который я сейчас хочу добавить, чтобы добавить вложение:

curl \
-X POST \
-H "Content-type: application/json" \
--data "{\"text\":\"$MESSAGE\"}" \
https://hooks.slack.com/services/code1/code2/code3

Ниже приведен пример приложения:

{
    "attachments": [
        {
            "fallback": "Required plain-text summary of the attachment.",
            "color": "#36a64f",
            "pretext": "Optional text that appears above the attachment block",
            "author_name": "Bobby Tables",
            "author_link": "http://flickr.com/bobby/",
            "author_icon": "http://flickr.com/icons/bobby.jpg",
            "title": "Slack API Documentation",
            "title_link": "https://api.slack.com/",
            "text": "Optional text that appears within the attachment",
            "fields": [
                {
                    "title": "Priority",
                    "value": "High",
                    "short": false
                }
            ],
            "image_url": "http://my-website.com/path/to/image.jpg",
            "thumb_url": "http://example.com/path/to/thumb.png",
            "footer": "Slack API",
            "footer_icon": "https://platform.slack-edge.com/img/default_application_icon.png",
            "ts": 123456789
        }
    ]
}

Однако я не совсем понимаю, как поместить этот блок вложения в оператор curl. Может ли кто-нибудь написать полную инструкцию curl, которая будет включать этот блок вложения для меня, чтобы я мог видеть, как это делается?

1 ответ

Решение

Это на самом деле довольно легко. attachments это просто еще один ключ в вашем массиве JSON, на том же уровне, что и text,

Таким образом, ваш новый массив JSON должен выглядеть примерно так (об. Перед экранированием символов):

{
  "text": "here goes your message text",
   "attachments": 
   [
      {

         "text": "Optional text that appears within the attachment",
         ...
      }
   ]
}

Btw. Вы можете добавить другие ключи, такие как channel а также icon_url так же.

Другие вопросы по тегам