Skip to content

Everseat/standup-slack

Repository files navigation

Standup for Slack Build StatusCoverage Status

Slack message formatter for daily standup messages. We, at Everseat, use Slack to record and share our daily standups. Here's what a typical standup feed looks like:

Different formats, different styles. Standup for Slack is meant to not only make it easier to post these kinds of messages but to make them consistent.

Simply enter your standup message in a valid JSON format like so:

And it will be automatically formatted into something like:

Additionally, non-standard JSON is allowed through the jsonic library.

Usage

Since the app requires user authorization, you must authorize the app before using it. Do this by running the /standup Slack command without arguments. Slack will reply with a URL that you can visit in order to authorize the app.

Error Handling

If you, by accident, send a standup message that isn't valid JSON, you'll get a response from Slackbot that looks like:

You'll want to visit that URL to diagnose the invalid message. If you're wondering about the URL after the # sign, don't worry. That URL is only temporary and will expire as soon as it's accessed.

Requirements

  • Heroku: This project was made to run on Heroku, although if you do not like Heroku, it shouldn't be too hard to run it elsewhere.
  • Postgres: Postgres is used to store user IDs and user access tokens. This is so the app can post messages as the authenticated user.

Getting Started

Once you've cloned this project, you'll want to create a new Heroku instance and provision a Postgres database.

Login into the database with heroku pg:psql and run CREATE TABLE users (id text not null, token text not null.

Then, you'll want to create a Slack app of your own. Use the following when creating a new Slack app:

Once you've created the app, you'll need to set some env variables on the Heroku instance...

heroku config:set CLIENT_ID=xxxxxxxxxx.xxxxxxxxxx
heroku config:set CLIENT_SECRET=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
heroku config:set REDIRECT_URI=https://example-heroku-app.com/auth

Finally, to tie it all together, create a new Slack slash command with the following...

Releases

No releases published

Packages

No packages published