Skip to content

Slack application integration for self-managed instances

Problem to solve

Our "slack application" app for Slack was limited to one host URL at the time of publication, so we decided to use it for gitlab.com only. Self-managed users were given the option of using "Slack slash commands" whereby they can create a custom slack app by manually configuring it.

Intended users

Further details

Proposal

With the introduction of "custom installs" we can now publish a self-managed version of our app (https://slack.com/apps/AH1QYSUF9), where users can simply specify the URL of their GitLab instance when installing and configure the app instance-wide via *admin>>settings>>integration>>slack application (currently only visible for gitlab.com).

This would give us consistency between self-managed and gitlab.com as well as allow us to eliminate "slack slash commands" options.

  1. We will need to make the instance-level slack configuration available to all, so that users can plug in their "GitLab Self-Managed" app values (Client ID, Client Secret, and Verification Token)

  2. We will need to make the "Slack Application" project-level integration available to self-managed instances and remove the "Slack slash commands" integration

Permissions and Security

Documentation

Testing

What does success look like, and how can we measure that?

Links / references

  1. We're currently returning the admin slack option only for gitlab.com and dev environments, see https://gitlab.com/gitlab-org/gitlab-ee/blob/master/ee/app/views/admin/application_settings/_slack.html.haml#L1

  2. We're returning the project level integration option (Slack application) only for gitlab.com and dev environments, see https://gitlab.com/gitlab-org/gitlab-ee/blob/master/ee/app/models/ee/service.rb#L18

  3. In the admin area, the settings between GitLab and Slack are mapped as follows:

GitLab Slack
APP_ID Client ID
APP_SECRET Client Secret
Verification Token Verification Token

To be solved by another issue - &1211 (closed)

Edited by Grant Hickman