SLACK에 JSON 메시지를 보내는 방법은 무엇입니까?

SLACK에 JSON 메시지를 보내는 방법은 무엇입니까?

다음 JSON 파일이 있습니다.

{
  "blocks": [
    {
      "type": "section",
      "text": {
        "type": "mrkdwn",
        "text": "Success: ondrejdolezal93's workflow (<https://circleci.com/api/v1.1/project/github/integromat/docker-db-updater/628|build>) in <https://app.circleci.com/pipelines/github/integromat/docker-db-updater%7Cintegromat/docker-db-updater> (<https://app.circleci.com/pipelines/github/integromat/docker-db-updater?branch=main%7Cmain>)\n- Fix update version (<https://github.com/integromat/docker-db-updater/commit/9a5b8d61a5c79dabbb2a47bb68b33748034986aa%7C9a5b8d6> by ondrejdolezal93)"
      }
    }
  ]
}

Slack 웹훅을 사용하고 curl.

내 명령은 다음과 같습니다.

curl -X POST -H 'Content-type: application/json' --data @message.json $SLACK_WEBHOOK_URL

컬의 답변은 다음과 같습니다.no_text

내가 뭘 잘못했나요? JSON은 Slack API 문서에 따라 형식이 지정됩니다.

답변1

Slack API 문서에는 JSON으로 인코딩된 본문을 보내면 다음과 같이 된다고 명시되어 있습니다.~ 해야 하다HTTP 헤더로 API 토큰을 전송하세요 Authorization. 당신은 이것을하지 않았습니다.

curl예제 쿼리는 문서에 제공됩니다(들여쓰기, 인라인 JSON 문서를 파일에 대한 참조로 바꾸고 URL을 인용하여 수정됨).

curl -X POST \
    -H 'Authorization: Bearer xoxb-1234-56789abcdefghijklmnop' \
    -H 'Content-type: application/json' \
    --data @message.json \
    'https://slack.com/api/chat.postMessage'

여기에서 API 문서를 참조하세요.https://api.slack.com/web

관련 정보