Requirements

App Installation - Slack

  1. Create a slack app from an app manifest
  2. Select the workspace > click next > paste the manifest below
  1. Follow the guide and click on Install to Workspace
  2. Scroll below and create an App-Level Token and copy the token
    • Token Name: hoop
    • Scopes: connections:write, app_configurations:write
  3. Go to Install App on the left side bar and copy the Bot User Oauth Token

Lastly, invite the bot in the slack channel that you wish to receive notifications by typing the name of the bot @hoop

App Installation - Hoop

For this step, you’ll need both the Slack bot token and app-level token to configure the plugin. You can obtain these tokens at:

  • SLACK_BOT_TOKEN: Oauth & Permissions > OAuth Tokens for Your Workspace (This is the token created in the app installation process)
  • SLACK_APP_TOKEN: Basic Information > App-Level Tokens

Configure the Slack App:

  1. Go to Integrations > Slack > Configurations Tab
  2. Type both tokens in the input

Alternatively, it’s possible to use the Hoop command line to configure the integration:

# login to your instance
hoop login
# configure the slack integration
hoop admin create plugin slack \
    --overwrite \
    --config SLACK_BOT_TOKEN=xoxb-... \
    --config SLACK_APP_TOKEN=xapp-...

Subscribing to Slack channels

We need to go to the Slack plugin page and access the menu → Manage plugins → Slack.

Then, click on settings and add all the channels (separated by commas) you would like to receive the review from that connection.

Subscribe to Notifications

To subscribe and sign up to receive notifications from the Hoop Bot, type /hoop subscribe and access the generated link. After signing in, the user will start to receive notification when there’s a review approved and ready to be executed.

Subscribing Manually (Optional)

To add approvers who are allowed to review sessions, fetch the user’s Slack ID and update it using the command line.

hoop admin create user <approver@domain.tld> --overwrite \
  --groups admin,sre \
  --slackid <SLACK-USER-ID>

Copy the Slack ID

  • In the Slack app, click on the top right corner of your profile photo
  • Select Profile
  • Click on the More options button (see image below) and copy the member’s ID

You can copy the ID of other members too on Slack.

Usage

To be able to use it, the review plugins must be enabled for a connection. When trying to interacting with it, it will send a message to the configured slack channel.

Associate the connection with the review and slack plugins

hoop admin create conn bash \
    --overwrite \
    --agent default \
    --reviewers 'admin,sre' \
    --plugin slack \
    -- bash

Then, interacting with the connection will send a message to your Slack channel. After it’s approved, it will send a message to the creator.

hoop connect bash
hoop exec bash -i 'ls'