humanmade/harvest-forecast-slack-checkin

Name: harvest-forecast-slack-checkin

Owner: Human Made

Description: Harvest Forecast - Slack integration for daily team member checkin status

Forked from: stpe/harvest-forecast-slack-checkin

Created: 2016-07-01 09:59:29.0

Updated: 2016-07-01 10:06:21.0

Pushed: 2016-03-21 10:21:30.0

Homepage:

Size: 178

Language: JavaScript

GitHub Committers

UserMost Recent Commit# Commits

Other Committers

UserEmailMost Recent Commit# Commits

README

Daily Forecast Checkin Slack Integration

This is a Slack integration that does post a summary of what each person is planning to do the current day according to Harvest Forecast.

Example output:

Background

At Rebel & Bird we use Forecast to schedule the team across different projects with different clients. The idea of this Slack integration originated after noticing a few things, that it also tries to address…

Future

This is just a first hack, and there are more potentially useful enhancements that could be made.

With a greater number of people it may not be feasible to just post a huge list; support for posting in different channels depending on team, location, etc is a possible solution.

Feel free to submit pull requests or suggest enhancements.

Installation

Checkout the harvest-forecast-slack-checkin repository. If you're new to GitHub, check out GitHub Desktop.

Make sure you have installed the latest stable version of Node.js.

In the checked out repository, install run:

npm install

Configuration

Put configuration in a file named .env.

Example:

CAST_ACCOUNT_ID=123456
CAST_AUTH_TOKEN=Bearer 22789.ToKeN...

LE_EXCLUDE_FILTER=45678,12345,98765
ECT_ID_TIME_OFF=234567
NT_ID_INTERNAL=23456
CAST_TEAM_URL=https://forecastapp.com/123456/schedule/team
_IF_WEEKEND=yup

K_WEBHOOK=https://hooks.slack.com/services/...
K_CHANNEL=checkin
K_ICON_URL=https://forecastapp.com/assets/images/apple-touch-icon.png
K_USERNAME=Forecast
Tests

Perform tests by running:

npm test

Run locally

npm start

Deploy to Heroku

To deploy to Heroku you need to have an account and have the Heroku Toolbelt installed.

  1. Create an Heroku application:

    heroku create your-appname-of-choice

  2. Push your local configuration to Heroku:

    heroku config:push

  3. Deploy the code to Heroku:

    git push heroku master

  4. Verify that it does run:

    heroku run worker

  5. Set up the Heroku Scheduler addon:

    heroku addons:create scheduler:standard

  6. Configure the scheduler:

    heroku addons:open scheduler

    Add a new job where the command is simply worker scheduled daily to the time you want the message posted in Slack.


This work is supported by the National Institutes of Health's National Center for Advancing Translational Sciences, Grant Number U24TR002306. This work is solely the responsibility of the creators and does not necessarily represent the official views of the National Institutes of Health.