A script for detecting inactive user in the packager group
Find a file
Mattia Verga c0fc2d5154 Remove pagure.io check
Pagure.io was decommissioned and doesn't return data anymore.

Signed-off-by: Mattia Verga <mattia.verga@tiscali.it>
2026-08-23 11:53:12 +02:00
.gitignore Update list of dependencies required 2023-07-31 10:58:46 -05:00
find_inactive_packagers.py Remove pagure.io check 2026-08-23 11:53:12 +02:00
LICENSE Initial push 2022-02-13 14:00:00 +01:00
Pipfile Add Koji builds check 2025-03-07 18:03:46 +01:00
README.md Remove pagure.io check 2026-08-23 11:53:12 +02:00
SOP.md Adjust docs to latest changes 2026-08-23 11:38:01 +02:00

find-inactive-packagers

The script will search for any activity in the last year in:

  • koji builds
  • forge.fedoraproject.org
  • src.fedoraproject.org
  • bodhi (through datagrepper)
  • Fedora mailing lists
  • Fedora Discussion
  • Red Hat bugzilla

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 the inactive users, asking them to show some activity in pagure, datagrepper or mailing lists. Optionally, it can open tickets against inactive packagers in a Forgejo or Pagure repository.

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. It can be used with the --post-comment to post a comment on each inactive_packager ticket with a list of packages / users / groups affected by user removal.

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 Forgejo / 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.

Use the '--privacy' flag to not print emails in the log.

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

Optionally, providing a Forgejo / Pagure repository URL and a token the script can automatically open and manage an issue ticket for each detected inactive packager.

Example usage

$ pipenv shell
...
$ pipenv install
...
$ sudo dnf install fedora-packager-kerberos
...
$ fkinit -u <USER>
...
$ 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

License

find-inactive-packagers is licensed under MIT.