stalkr micro service which feeds our clients with GitHub push events.
Webhooks are user-defined HTTP callbacks which are usually triggered by some event, such as pushing code to a repository–which is what happens here–or a comment being posted to a blog. When that event occurs, the source platform makes an HTTP request to the URI which as been previously set for the webhook.
Users can set them to cause events on one site to invoke behaviour on another. The action taken may be anything. Common uses are to trigger builds with continuous integration systems or to notify bug tracking systems–and that's how stalkr works. Since they use HTTP, they can be integrated into web services without adding new infrastructure.
We intend to work over a bunch of different realtime frameworks–e.g. Socket.IO, Primus and ws–and services–e.g. Ably, PubNub and Pusher itself–based on a commom protocol for transporters.
But now Pusher has shown to achieve good documentation/examples, a solid API, and great backend/debug tools, which led us to deal, in our Minimum Viable Product, only with Pusher.
Then you need to create an account, and make a note of your app_id, app_key and app_secret for each project you'd like to integrate with stalkr.
Depending on how much push events your repo triggers, it can be necessary to add a Github API token:
-
Head on over to your settings to manage personal API tokens.
-
Then clink on
Generate new token. -
Put the description which is more expressive for you.
-
Check both
repoanduserscopes. -
Then click on
Generate token.
-
Make sure you define the
ENVvariables below:# Pusher credentials export PUSHER_ID='123456' export PUSHER_KEY='4JEUi0C2UT49m872Euc5' export PUSHER_SECRET='Bzx2MlrMbNtBpZv391J1' # GitHub credentials export GITHUB_TOKEN='5K78650K9PGuTHgbVOGl26l9nQ6JuLyS' # Basic stalkr cell metadata export STALKR_TEAM='myTeam' export STALKR_PROJECT='myProject'
-
Clone this repository:
git clone https://github.com/stalkr-io/github-commits-feed
-
Install all dependencies:
# via npm npm install # or using yarn yarn
-
Launch it:
# via npm npm start # or using yarn yarn start
If everything goes okay, it should now be running at localhost:3000.
-
Install now globally:
# via npm npm install -g now # or using yarn yarn global add now
-
Run now with the
-eflag to define these environment variables:now -e PUSHER_ID='123456' \ PUSHER_KEY='4JEUi0C2UT49m872Euc5' \ PUSHER_SECRET='Bzx2MlrMbNtBpZv391J1' \ GITHUB_TOKEN='5K78650K9PGuTHgbVOGl26l9nQ6JuLyS' \ STALKR_TEAM='myTeam' \ STALKR_PROJECT='myProject'
-
Sign in, then select the related repository you own.
-
Click on
Settingson the top panel. -
Then click on
Webhooks & Serviceson the left panel. -
Click on the
Add WebHookButton. -
Paste the URL where you've deployed your stalkr webhook in the
URLform field. -
Select
application/jsonas the content type. -
Remain the
Just the push event.checkbox checked. -
Remain the
Activecheckbox checked. -
Click on
Add webhookto save the webhook.
Your configuration should look similar to this:
-
Install the Stalkr on your TV
-
Go to
New Dashboardtab.We recommend the use of one iPhone or remote keyboard to set the config in inputs.
-
You don't need to fill all the steps, but only the section
Dashboardand, in the next sections, you'll need to fill only if you want this cell in your dashboard. -
In order to know how to set a "Pusher Key" parameter, see the Pusher section.
Maintainer:
ythecombinator.me · GitHub @ythecombinator · Twitter @ythecombinator


