find-inactive-packagers/README.md

59 lines
1.9 KiB
Markdown
Raw Permalink Normal View History

2022-02-13 14:00:00 +01:00
# find-inactive-packagers
The script will search for any activity in the last year in:
- koji builds
2022-02-13 14:00:00 +01:00
- src.fedoraproject.org
- pagure.io
- bodhi (through datagrepper)
2022-02-13 14:00:00 +01:00
- Fedora mailing lists
- Fedora Discussion
2022-09-12 09:15:42 +02:00
- Red Hat bugzilla
2022-02-13 14:00:00 +01:00
2022-09-12 09:15:42 +02:00
The step-one subcommand will output the 'inactive_packagers.csv' file with a list of all users
in the packager group and their email which are found to be inactive. This can be used to contact
2022-02-13 14:00:00 +01:00
the inactive users, asking them to show some activity in pagure, datagrepper or mailing lists.
2022-09-12 09:15:42 +02:00
Optionally, it can open tickets against inactive packagers in a Pagure repository.
2022-02-13 14:00:00 +01:00
2022-09-12 09:15:42 +02:00
The check-impact subcommand will iterate on the list of tickets opened and provide information
about how many packages will possibly be orphaned based on the packagers detected as inactive.
The step-two subcommand can either check a list of inactive users from the csv file generated
in step-one, or check a list of users based on open Pagure tickets. In this last case, the tickets
can be closed appropriately. Another csv file is generated as output to list users which are still
inactive.
2022-02-13 14:00:00 +01:00
Use the '--privacy' flag to not print emails in the log.
2022-02-13 14:00:00 +01:00
To run the script you'll need:
- click, fasjson_client, koji, and python-bugzilla to be installed
- an active kerberos ticket to login to fasjson.fedoraproject.org
- a bugzilla API key for bugzilla.redhat.com in your ~/.bugzillarc config file
2022-02-13 14:00:00 +01:00
Optionally, providing a Pagure repository URL and a token the script can automatically
2022-09-12 09:15:42 +02:00
open and manage an issue ticket for each detected inactive packager.
2022-02-13 14:00:00 +01:00
## Example usage
```
$ pipenv shell
...
$ pipenv install
2022-02-13 14:00:00 +01:00
...
$ sudo dnf install fedora-packager-kerberos
...
$ fkinit -u <USER>
2022-02-13 14:00:00 +01:00
...
$ cat > ~/.bugzillarc <<EOL
$ > [bugzilla.redhat.com]
$ > api_key=<YOUR_BZ_API_KEY>
$ > EOL
$ python find-inactive-packagers.py [--privacy] step-one
...
$ python find-inactive-packagers.py [--privacy] step-two prev-run.csv
2022-02-13 14:00:00 +01:00
```
## License
find-inactive-packagers is licensed under MIT.