32 lines
1.7 KiB
Markdown
32 lines
1.7 KiB
Markdown
# 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"
|
|
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.
|