source/projects/gh-unnotifier/README.md

33 lines
1.7 KiB
Markdown
Raw Normal View History

2023-07-27 23:23:39 +00: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
``` toml
[gh-unnotifier]
api_key = "your secret value"
2023-07-27 23:26:03 +00:00
org_shitlist = [
"your-employer-here",
"their-oss-group-here",
]
2023-07-27 23:23:39 +00:00
```
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
2023-07-27 23:26:03 +00:00
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.
2023-07-27 23:23:39 +00:00
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.