Go HTML
Latest commit 85b1f09 Mar 25, 2016 @jasondew jasondew Merge pull request #12 from harvesthq/blank-note-fix
Validating that a note isn't blank
Permalink
Failed to load latest commit information.
Godeps Removing dependency on Mandrill in favor of straight SMTP Mar 10, 2016
cmd
LICENSE.md Adding license, fixes #6 Jan 29, 2016
Procfile Refactoring and renaming notable server Aug 18, 2015
README.md Adding new config vars to the README Mar 10, 2016
app.json
email.go
notable.go Use TrimSpace instead of Trim Mar 25, 2016
note.go
notes.go Removing dependency on Mandrill in favor of straight SMTP Mar 10, 2016
template.html Update template.html Sep 30, 2015

README.md

Harvest Notable

A simple Slack interface to disseminate small but important bits of information to the team.

Example usage

> /notable Chad found Cade's coat!
# Got it!

> /notable The soup, the soup. The soup! #big
# Got it!

Development

You'll need to have a working Go environment (including $GOPATH and the proper directory structure). It also uses Redis to persist data across processes, so you'll need that too. To build the binaries, execute

go install ./...

in the project root and that should put notable_server in your $GOPATH/bin to run. Normal execution goes something like:

env PORT=8080 SLACK_API_TOKEN=... $GOPATH/bin/notable_server

There's also the send_digest binary that's used by the Heroku scheduler to send out and clear any notes nightly.

Configuration

Configuration is done via environment variables, either directly or through Heroku.

  • FROM_NAME and FROM_EMAIL determine who the email is from
  • TO_NAME and TO_EMAIL determine who the email is sent to
  • SMTP_HOST, SMTP_PORT, SMTP_USERNAME, SMTP_PASSWORD provide SMTP settings for sending email
  • REDIS_URL is normally provided by Heroku and gives connection details for the Redis instance
  • SLACK_API_TOKEN is an API token generated by Slack that allows notable to get details about Slack users
  • SLACK_TOKEN is the token generated by Slack that notable will verify on requests
  • SLACK_CHANNEL determines what room notes are broadcast to, defaults to "general"

Contributors