source/projects/gh-unnotifier
2023-07-27 17:26:03 -06:00
..
src/python/ghunnotif Blah 2023-07-27 17:23:39 -06:00
BUILD Create the unnotifier 2023-07-27 16:34:26 -06:00
README.md More notes 2023-07-27 17:26:03 -06:00

Github Unnotifier

So I work in a monorepo, to which I have elevated access. This means I get a LOT of work associated notifications on Github because approval requests land on my team's desk. However, since we are a team, many of these notificaitons don't require that I action them.

I would like to not be notified at all, but Github's notification filtering features are non-existent so I'm doing this the hard way.

This script at present does the simple thing - it looks through notifications for activity on resolved PRs and marks such activity as read automatically. Unfortunately, that's the best you can really do.

Usage

You're gonna need a config.toml like

[gh-unnotifier]
api_key = "your secret value"
org_shitlist = [
  "your-employer-here",
  "their-oss-group-here",
]

And then you can bazel run //projects/gh-unnotifier -- maintain --config $(realpath config.toml).

By default, maintain will go over your notifications once a minute and mark anything as read which:

  1. Relates to a closed (merged or abandoned) PR
  2. Does not have an outstanding review request against EITHER the user OR one of the user's teams (someone else already reviewed it) AND is in an org in the org_shitlist

Note that the org_shitlist serves as a gate to allow you to opt notifications from organizations into auto-dismissal, rather than auto-dismissing anything you aren't a reviewer on from anywhere as that covers many other potentially desirable notifications too.

It would be nice if there was a way to quickly ascertain what review permissions the configured user has and whether requested reviews to relevant groups have already been provided, but so far that's a pipe dream.