You are browsing as a guest. Sign up (or log in) to start making projects!

56m 31s logged

new project!

i need stipends for outpost therefore i will be making this

why is it better?

Because I hate the normal GitHub bot, it just sends all the messages for commits in the channel and i make up to like 60 commits a day and as you can see in the photos below it kinda floods the channel!

the problem

too much going on across repos, kept missing PRs/issues/commits/CI status. wanted it all in Slack automatically, but not as a spammy live feed

the plan

  • PRs/issues, post immediately
  • new repos auto covered, zero setup
  • commits collapsed into one thread per day instead of a message per push
  • Actions failures post immediately
  • Actions daily summary, one message that updates itself all day

the name

its kinda a joke but that is what it is, very descriptive and true imo :thumbs-up:

setup

  • Slack app scoped to chat:write, channels:history, channels:read
  • GitHub App, read only perms, subscribed to push/pr/issues/repository/workflow_run, installed on all repos
  • deployed on Fly.io

bugs?

there weren’t any surprisingly but the hosting plan defaulted to listen on port 8080 and I had the bot set to 3000 took me a while figure that out but after a bit I found it said
WARNING The app is not listening on the expected address node server.js [::]:3000

status: alive

GitHub App installed, Slack app in the channel, deployed on Fly, webhook wired up, port bug fixed and confirmed reachable

more stuff to come:

  • Slack OAuth (“Add to Slack” button) users connect their own workspace/channel instead of manual tokens
  • GitHub App per-user install each user installs on their own account/org instead of sharing yours
  • small web dashboard connect accounts + pick settings instead of editing env vars
  • a real database needed once you’re tracking multiple workspaces/installs at once
  • slash commands (/ghbot settings) let users self-serve config without touching code
0
1

Comments 0

No comments yet. Be the first!