Skip to content

glensc/slack-unfurl

Repository files navigation

Extensible Slack App for link unfurling

Slack app for unfurling issue links

Slack App

Create or Manage your app.

You need Verification Token (SLACK_VERIFICATION_TOKEN) for next step.

Under Features:

  • enable Events API for link_shared event with links:read scope.
    1. Click Event Subscriptions on the left.
    2. Click Enable Events.
    3. Click Add Workspace Event and add link_shared.
    4. Click Add Domain and type your domain.
    5. Click Save Changes.
  • add links:write permission scope
    1. Click OAuth & Permissions on the left.
    2. Go to Scopes section and select Add link previews to messages in the list of permissions.
    3. Click Save Changes.
  • enable Incoming Webhooks

Obtain OAuth Access Token (SLACK_API_TOKEN) under OAuth & Permissions

Configuration

cp env.example .env

Adding providers

The app itself handles no links, you need to add some providers:

Troubleshoot

If the unfurl is not happening check that the domain is not blacklisted.

If you modify app domains, you need to Install App (/install-on-team as url) again to re-authorize:

Development

Install composer deps and start builtin HTTP server:

composer install
composer run server

To build docker image locally and run it:

docker build -t slack-unfurl .
docker run --rm -p 4390:4390 -v $(pwd)/var/log:/app/var/log -v $(pwd)/.env:/app/.env slack-unfurl

The service is accessible from http://slack-unfurl.127.0.0.1.xip.io:4390/ or just http://localhost:4390/