npm/captain-hook

Name: captain-hook

Owner: npm

Description: slack bot that provides subscription service for npm webhooks

Created: 2016-05-19 15:05:57.0

Updated: 2018-01-22 18:47:13.0

Pushed: 2016-07-05 22:22:50.0

Homepage:

Size: 358

Language: JavaScript

GitHub Committers

UserMost Recent Commit# Commits

Other Committers

UserEmailMost Recent Commit# Commits

README

captain-hook

a slack bot to subscribe to npm webhook notifications

captain hook

usage
tain-hook subscribe <type: package||organization> <name> <sharedsecret>
local dev

captain-hook is a NodeJS application. if you don't have NodeJS you'll need to download it.

captain-hook uses a Postgres database.

up and running
  1. Fork and clone this repo

  2. cd captain-hook

  3. npm install

  4. Copy .envsample to .env and fill it out

    | variable | description | |—————— |—————————————————————————————————————————————————————————- | | SLACK_API_TOKEN | Bot API token. You can find this on the Slack Developers site by navigating: Browse Apps > Custom Integrations > Bots Configurations on {{team_name}} > Edit configuration | | SLACK_CHANNEL_ID | Name of the channel, i.e. #testing. Can also be ID number retrieved from the Slack API. | | SHARED_SECRET | Any string. | | DATABASE_URL | URL of your Postgres database. defaults to localhost:5432/dev |

  5. npm db:setup, creates a Postgres db, then runs Knex migrations and seeds

  6. npm run dev, runs npm start and pipes output to nice logging You now have a service running on localhost:6666. You'll probably want to expose that to the internet for local development. ngrok is a great, free option.

web interface

the captain hook web interface is an express app. it servers basic CRUD functionality for the two resources: users and subscriptions.

to start it, run npm run start:web and then visit http://localhost:8080.


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.