Skip to content

Prepare new Slack events processing API

What does this MR do and why?

Link unfurling &6389 is the first Slack feature that will use the Slack events API.

This first iteration is to prepare the events endpoint and process the challenge, but not process any events yet. A next issue #358677 will process a first event.

All Slack events that we subscribe to in future will be sent to a single endpoint of GitLab, regardless of the Slack workspace or event type. So the endpoint needs to be very performant.

Related to #358676 (closed)

How to set up and validate locally

  1. Follow the guide to prepare a GitPod environment to integrate with Slack (currently only available to members of Ecosystem Test Slack workspace).
  2. In GitPod, check out this branch on the terminal: cd /workspace/gitlab && git checkout 358676-slack-prepare-endpoint-to-process-events.
  3. In the Dev Slack app's Events tab enter the Request URL <your-gitpod-domain>/api/v4/integrations/slack/events.
  4. Slack will make a request to the endpoint with a challenge payload. After a pause, a tick should appear next to the URI field that signals it's been verified:

image

MR acceptance checklist

This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.

Edited by Luke Duncalfe

Merge request reports