Skip to content

GitLab for Slack app: OAuth capabilities for group and instance levels

Luke Duncalfe requested to merge 391526-services into master

What does this MR do and why?

This is a step towards the feature of supporting the GitLab for Slack app integration to be configured at group and instance levels.

#391526 (closed)

This change adds services and controller support for group-level and instance-level Slack app installation via OAuth with Slack.

The settings captured during OAuth are not yet propagated down to the project-level, this will happen in the next iteration #391526 (comment 1733489044).

The changes are hidden behind a feature flag.

MR acceptance checklist

Please evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.

Screenshots or screen recordings

Configuring at Group-level (instance-level is similar)
Screen_Recording_2024-02-13_at_13.45.30

How to set up and validate locally

Set up

  1. You will need a Slack workspace to test with (other than GitLab's Slack workspace, which will not let you configure Slack apps).
  2. In rails console enable the feature
    Feature.enable(:gitlab_for_slack_app_instance_and_group_level)
  3. Enable the GitLab for Slack app for your instance:
    1. Go to /admin
    2. Go Settings > General
    3. Next to GitLab for Slack app click Expand
    4. Click the Install GitLab Slack app...* button
    5. Follow the instructions and install the GitLab Slack app into your Slack workspace.
    6. Back in the GitLab admin, check Enable GitLab for Slack app and complete the Step 2: Configure the app settings settings.

QA Group-level

  1. Choose a Group, and go Settings > Integrations
  2. Select GitLab for Slack app
  3. Click Install GitLab for Slack app...
  4. Complete the OAuth flow
  5. The GitLab for Slack app integration should be enabled

QA instance-level

  1. Go to /admin and go Settings > Integrations
  2. Select GitLab for Slack app
  3. Click Install GitLab for Slack app...
  4. Complete the OAuth flow
  5. The GitLab for Slack app integration should be enabled

Related to #391526 (closed)

Edited by Luke Duncalfe

Merge request reports