find-inactive-packagers

Created 10 months ago
Maintained by mattia
A script for detecting inactive user in the packager group
Members 2
Mattia Verga committed a month ago

find-inactive-packagers

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

  • src.fedoraproject.org
  • pagure.io
  • bodhi (through datagrepper)
  • Fedora mailing lists
  • 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 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.

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.

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

To run the script you'll need:

  • fasjson_client to be installed
  • an active kerberos ticket to login to fasjson.fedoraproject.org
  • a bugzilla API key stored as OS env variable 'BZ_API_KEY'

Optionally, providing a 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
...
$ pip install fasjson-client
...
$ sudo dnf install fedora-packager-kerberos
...
$ fkinit -u <USER>
...
$ export BZ_API_KEY=<YOUR_BZ_API_KEY>
$ 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.