# 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 and tries to identify trivially ignorable notifications which:
1. Relate 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.

## 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)`.

## License

Copyright © Reid D. McKenzie 2023, published under the terms of the Anti-Capitalist Software License v1.4 and later.

https://anticapitalist.software/
