Through Slack

This section will walk through the steps needed to set up Slack to receive updates from Determined in a specific Slack channel using Slack Webhook Integrations.

The steps for enabling slack notifications are:

  1. Creating a Slack Application

  2. Enabling Incoming Webhooks in Slack

  3. Configuring Determined for Slack Webhooks

  4. Setting up the Webhook in Determined

  5. Testing the Webhook

Creating a Slack Application

First, we need to create a Slack application and give the application permissions to post in the appropriate Slack channel. Visit the Slack App Managment page and click on the Create New App button.

In the pop window asking for the app configuration choose the From scratch option.

../../_images/slack-app-configuration.jpeg

In the next window you will input an “App Name” and select the Workspace for the application.

Enabling Incoming Webhooks in Slack

Next, we need to configure incoming webhooks for our Slack application. In your Slack application’s management page navigate to the Incoming Webhooks section. Enable the toggle for Activate Incoming Webhooks as shown below.

../../_images/slack-incoming-webhooks-page.jpeg

Now that webhooks are enabled we can set up a new webhook integration. Click the Add New Webhook to Workspace button at the bottom of the page. On the next page you will be asked to select the channel that will receive webhook updates. Choose a channel and then press the Allow button and you will be taken back to the Incoming Webhooks page.

Configuring Determined for Slack Webhooks

Note: The following section is optional but encouraged.

Determined has the ability to send links to experiments, projects, and workspaces in Slack messages. To enable Determined to send correctly formatted links you must set the Base URL in the Determined cluster configuration. The Base URL is the website address that is used to access the Determined user interface. The value should be in the format of https://yourdomain.com

There are three ways to set the Base URL.

  1. Setting a DET_WEBHOOK_BASE_URL environment variable.

  2. Using the flag –webhook-base-url

  3. Adding a base_url entry to the webhook portion of the master configuration file. An example is shown below:

webhook:
    base_url: https://yourdomain.com

If the Base URL is set correctly then Slack messages will include links as shown below.

../../_images/slack-message-with-links.png

If no Base URL is set then links will not be present in Slack messages.

../../_images/slack-message-without-links.png

Setting up the Webhook in Determined

Finally, we will need to add a webhook in Determined using Webhook URL provided by Slack.

In the Webhook URLs for Your Workspace section of Incoming Webhooks page you should see a list of Webhook URLs for all of the channels that you have added. Click the Copy button for the appropriate Webhook URL and then navigate to the Webhooks page in Determined.

On the Webhooks page in Determined click the New Webhook button in the top right corner of the page.

../../_images/slack-webhook-creation-in-determined.jpeg

In the pop up, paste the Webhook URL that was copied from Slack in the URL field. Choose Slack for the webhook type and then choose the triggers that you want to receive notifications for. Finally, select Create Webhook and your webhook will be created.

Testing the Webhook

To test a Slack webhook in Determined navigate to the Webhooks page and click on the three vertical dots on the right side of any of the listed webhooks.

../../_images/test-webhook.png

If everything has been configured correctly you should receive a message from the Slack application you created with the message “test” as shown above.