source/projects/gh-unnotifier
2023-07-27 17:23:39 -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 Blah 2023-07-27 17:23:39 -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"

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)

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.