Recently I published in Google code a project aimed at computing some statistics about the bugs contained in the Mantis bug tracker instance used in my office.
The project is here:
https://code.google.com/p/mantis-statistics
The project is composed of:
The application uses the bug history table to check which bugs have not been resolved by a user in due time. By "due time" I mean a duration in days that can be set in the application using the command line parameters. There are three possible durations associated to three different bug priorities: normal, high and urgent. If a bug has not been processed in due time depending on its priority I call it an "expired" bug.
There's also another concept to be explained, and it's what I call a "transition". A transition is when a bug changes status going from a start status to an end status. For example a transition is when a bug goes from the "assigned" to the "resolved" status. In the application you can select which is the transition you would like to check. So you can ask which are the bugs that haven't been transitioned from assigned to resolved in due time, or the bugs which haven't been transitioned from resolved to closed in due time, or a transition between two custom states you added to Mantis.
There are command line parameters to choose the due times, the transition to be checked, the user to be checked, and so on. The details are here:
https://code.google.com/p/mantis-statistics/wiki/Usage
Having chosen the user, the transition and the due times, the application is capable of two different outputs:
The list of expired bugs shows for each bug the id, summary, priority and days elapsed; in the HTML format you can click on the bug id to open the bug detail page in Mantis.
The statistics page shows a cell for each project, year and month containing two numbers: the number of expired bugs in the period and the total number of bugs.
Both reports can be output in various formats:
I provide also a PHP form that integrates into Mantis GUI and that can be accessed as a custom menu item. The form drives the Python application using the same command line parameters you use in a terminal. Obviously the form can be customized at your will.
The project is here:
https://code.google.com/p/mantis-statistics
The project is composed of:
- the main application written in Python;
- a form written in PHP that integrates into Mantis GUI.
The application uses the bug history table to check which bugs have not been resolved by a user in due time. By "due time" I mean a duration in days that can be set in the application using the command line parameters. There are three possible durations associated to three different bug priorities: normal, high and urgent. If a bug has not been processed in due time depending on its priority I call it an "expired" bug.
There's also another concept to be explained, and it's what I call a "transition". A transition is when a bug changes status going from a start status to an end status. For example a transition is when a bug goes from the "assigned" to the "resolved" status. In the application you can select which is the transition you would like to check. So you can ask which are the bugs that haven't been transitioned from assigned to resolved in due time, or the bugs which haven't been transitioned from resolved to closed in due time, or a transition between two custom states you added to Mantis.
There are command line parameters to choose the due times, the transition to be checked, the user to be checked, and so on. The details are here:
https://code.google.com/p/mantis-statistics/wiki/Usage
Having chosen the user, the transition and the due times, the application is capable of two different outputs:
- a list of the expired bugs grouped by project;
- a statistic on the numbers of expired bugs grouped by project, year and month.
The list of expired bugs shows for each bug the id, summary, priority and days elapsed; in the HTML format you can click on the bug id to open the bug detail page in Mantis.
The statistics page shows a cell for each project, year and month containing two numbers: the number of expired bugs in the period and the total number of bugs.
Both reports can be output in various formats:
- ascii: suitable for a terminal output;
- html: this is the format used to display the output in Mantis GUI;
- html standalone: this is similar to the previous one but contains also the CSS definitions, and the links to Mantis bug detail page are absolute; this format is thought to be attached to a mail to be sent as a report;
- csv: it's a CSV format to be imported into spreadsheets.
I provide also a PHP form that integrates into Mantis GUI and that can be accessed as a custom menu item. The form drives the Python application using the same command line parameters you use in a terminal. Obviously the form can be customized at your will.
Comments
Post a Comment