RocketChat / RocketChat/Rocket.Chat

[Bug] Incoming Webhook broken

Open
#23,208 8 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
TypeScript
Stars
46.1k
Forks
13.9k
Avg merge
3d 3h
Merged PRs (30d)
130

Description

Description:

Since upgrading to 3.16+ it seems some Slack-compatible Incoming Webhooks seem to not work any more. There isn't much detail other than what I can provide below with screenshots and relevant logs.

Steps to reproduce:
  1. Setup Channel and add user(s) to Channel
  2. Setup Integration to use that channel
  3. Copy Webhook URL to app to send webhooks to Rocket.Chat
Expected behavior:

Webhook post content to channel

Actual behavior:

No content shows

Server Setup Information:
  • Version of Rocket.Chat Server: 3.18.1
  • Operating System: Ubuntu 18.04
  • Deployment Method: docker
  • Number of Running Instances: 1
  • DB Replicaset Oplog: Enabled
  • NodeJS Version: v12.22.1
  • MongoDB Version: 4.0.17 / mmapv1 (oplog Enabled)
Client Setup Information
  • Desktop App or Browser Version: Latest Linux Electron App
  • Operating System: Pop!_OS!
Additional context

image
image

Relevant logs:

I20210915-14:57:17.184(0) Integrations ➔ Incoming WebHook.info Post integration: SupportPal Dev
I20210915-14:57:17.186(0) Integrations ➔ Incoming WebHook.debug @urlParams: { integrationId: 'AfWf54ZnXqAJf6nWF', token: 'nN2stSRrpENZdRzD3birmM28qT9WGTeKTvScf7HBDFQhAoc8' }
I20210915-14:57:17.187(0) Integrations ➔ Incoming WebHook.debug @bodyParams: {}
I20210915-14:57:17.188(0) API ➔ debug Success { statusCode: 200, body: { success: true } }
I20210915-14:57:17.189(0) API ➔ info 10.200.X.XXX - aDFNiCQWGwZX7ATD9 [2021-09-15T14:57:17.188Z] "POST /hooks/AfWf54ZnXqAJf6nWF/nN2stSRrpENZdRzD3birmM28qT9WGTeKTvScf7HBDFQhAoc8" 200 - "undefined" "GuzzleHttp/6.5.5 curl/7.58.0 PHP/7.2.24-0ubuntu0.18.04.8" |
I20210915-14:57:23.792(0) API ➔ debug Success { statusCode: 200, body: { queue: [ [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], ... 900 more items ], success: true } }

I20210915-14:58:37.488(0) Integrations ➔ Incoming WebHook.info Post integration: SupportPal Dev
I20210915-14:58:37.489(0) Integrations ➔ Incoming WebHook.debug @urlParams: { integrationId: 'AfWf54ZnXqAJf6nWF', token: 'nN2stSRrpENZdRzD3birmM28qT9WGTeKTvScf7HBDFQhAoc8' }
I20210915-14:58:37.490(0) Integrations ➔ Incoming WebHook.debug @bodyParams: {}
I20210915-14:58:37.491(0) API ➔ debug Success { statusCode: 200, body: { success: true } }
I20210915-14:58:37.492(0) API ➔ info 10.200.X.XXX - aDFNiCQWGwZX7ATD9 [2021-09-15T14:58:37.491Z] "POST /hooks/AfWf54ZnXqAJf6nWF/nN2stSRrpENZdRzD3birmM28qT9WGTeKTvScf7HBDFQhAoc8" 200 - "undefined" "GuzzleHttp/6.5.5 curl/7.58.0 PHP/7.2.24-0ubuntu0.18.04.8" |
I20210915-14:59:00.239(0) SyncedCron ➔ info Starting "Federation".

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the POST to the /hooks/{integrationId}/{token} endpoint using the server setup described, and inspect the Incoming WebHook logs where bodyParams is empty despite a successful response. Trace why the webhook payload is not posted to the configured channel; done means a Slack-compatible webhook's content appears in that channel.

Written by the indexing model from the issue text.

Assessment

Tech stack
docker, mongodb, node.js, typescript
Domain
api, backend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.