Enable Slack App Home feature
Background
As we work towards migrating the existing Slack app to use Granular Bot permissions, we can easy enable the App Home feature.
Release notes
GitLab is doubling down on Slack for our customers. As one of our most heavily used integrations, we're working to simplify and consolidate GitLab+Slack integration through the GitLab Slack App. As a best practice, the App Home in each Slack serves as a communication center between App providers and Slack users, and this will be a key area for us to communicate new and upcoming features, as well as orient new users to the features that are already available with rich content, such as gif walkthroughs.
With this release, we'll be enabling the Slack App home with a quick orientation to the GitLab App, which will set the stage for more to come. Want to learn more about our plans and weigh in? Visit our Slack epic.
Enabling the App home seems like low and adds a lot of value:
- It will make it obvious that the app is installed
- Having some announcements in the App home would be a great way to show that we are actively working on making it better.
Block Kit
Layout (not signed in)
https://app.slack.com/block-kit-builder/T02592416#%7B%22type%22:%22home%22,%22blocks%22:%5B%7B%22type%22:%22header%22,%22text%22:%7B%22type%22:%22plain_text%22,%22text%22:%22%E2%9C%A8%20Welcome%20to%20GitLab%20for%20Slack!%22,%22emoji%22:true%7D%7D,%7B%22type%22:%22section%22,%22text%22:%7B%22type%22:%22mrkdwn%22,%22text%22:%22View%20and%20control%20GitLab%20content%20while%20you%E2%80%99re%20working%20in%20Slack.%20Type%20the%20command%20as%20a%20message%20in%20your%20chat%20client%20to%20activate%20it.%20%3Chttps://docs.gitlab.com/ee/integration/slash_commands.html%7CLearn%20more%3E.%22%7D%7D,%7B%22type%22:%22section%22,%22text%22:%7B%22type%22:%22mrkdwn%22,%22text%22:%22Step%201.%20Connect%20your%20GitLab%20account%20to%20get%20started.%22%7D%7D,%7B%22type%22:%22actions%22,%22elements%22:%5B%7B%22type%22:%22button%22,%22text%22:%7B%22type%22:%22plain_text%22,%22text%22:%22Sign%20in%20to%20GitLab%22,%22emoji%22:true%7D,%22style%22:%22primary%22,%22value%22:%22click_me_123%22,%22action_id%22:%22actionId-0%22%7D%5D%7D,%7B%22type%22:%22section%22,%22text%22:%7B%22type%22:%22mrkdwn%22,%22text%22:%22Step%202.%20Try%20it%20out!%22%7D%7D,%7B%22type%22:%22section%22,%22text%22:%7B%22type%22:%22mrkdwn%22,%22text%22:%22See%20a%20list%20of%20available%20commands:%20%60/gitlab%20help%60%22%7D%7D,%7B%22type%22:%22divider%22%7D,%7B%22type%22:%22section%22,%22text%22:%7B%22type%22:%22mrkdwn%22,%22text%22:%22Create%20new%20issues%20from%20Slack:%20%60/gitlab%20%3Cproject%20alias%3E%20issue%20new%20%3Ctitle%3E%20%3Cshift+return%3E%20%3Cdescription%3E%60%22%7D%7D,%7B%22type%22:%22image%22,%22title%22:%7B%22type%22:%22plain_text%22,%22text%22:%22Create%20a%20new%20issue%22,%22emoji%22:true%7D,%22image_url%22:%22https://gitlab.com/lvanc/readme/-/raw/master/Uploads/slack-issue-new-1080.gif%22,%22alt_text%22:%22Create%20a%20new%20issue%22%7D,%7B%22type%22:%22divider%22%7D,%7B%22type%22:%22section%22,%22text%22:%7B%22type%22:%22mrkdwn%22,%22text%22:%22Streamline%20your%20GitLab%20deployments%20with%20ChatOps.%20Once%20you've%20configured%20your%20%3Chttps://docs.gitlab.com/ee/ci/chatops/index.html%7CCI/CD%20pipelines%3E,%20try:%20%60/gitlab%20%3Cproject%20alias%3E%20run%20%3Cjob%20name%3E%20%3Carguments%3E%60%20%22%7D%7D,%7B%22type%22:%22image%22,%22title%22:%7B%22type%22:%22plain_text%22,%22text%22:%22Run%20a%20CI/CD%20jobs%22,%22emoji%22:true%7D,%22image_url%22:%22https://gitlab.com/lvanc/readme/-/raw/master/Uploads/slack-run-job-1080.gif%22,%22alt_text%22:%22issue_show%22%7D%5D%7D
Design source
Resources
Availability & Testing
I don't see any evidence currently that GitLab can respond to Slack events for an installation. This would be a new endpoint. Since the event would require an authenticated api call to Slack for updating the view triggering frequent app home events could cause Slack to rate-limit the GitLab api calls.
Suggestion: consider a request/integration spec that locks down/asserts the GitLab endpoint which responds to the app_opened_event
is properly will trigger an api call to Slack with the correct information.