Contents
Agilo Ticket Report Plugin
Description
Agilo (http://agile42.com/cms/pages/) is nice scrum process tools base on trac. Every task ticket has an estimation time(hours), the team manager want to know exactly real working time comparing with estimated time. That's maybe metric of team member's working efficiency., so I developed this plugin for agilo. Thanks to agilo developers' sharing this tool, I just contribute something to open source community.
Solution
There is table named "ticket_change" in database make records of every ticket changes. So we can do data mining in current Trac Database.
Real working hours = ticket closed time - ticket accept time - None working time
Working time = from 9:00 am to 6:00 pm (exactly 9 hour including 1 hour lunch time) from Monday to Friday
None working time = from 18 pm to next day 9 am of working days, Sta, Sun, Holidays(Manual configure)
Ticket Work Flow
Add "pending" status for ticket, if you do not want to add "pending" status, it also works
Why add “pending” status ?
Sometime, we may accepted several tickets at one time in a sprint, we could not resolve tickets at same time, or some tickets may block by our customers.
So, if we want to calculate the exactly working time, we must add the "pending" status.
Although standard process is O-->As-->A-->C-->R-->A-->C, but there are still some tickets do not follow the rule.
line1 = t1
line2 = t2
line3 = t3 + t4 + t5
line4 = t3 + t4 + t6
line5 = t3 + t4 + t7
Bugs/Feature Requests
Existing bugs and feature requests for AgiloTicketReportPlugin are here.
If you have any issues, create a new ticket.
Download
Download the zipped source from here.
Source
You can check out AgiloTicketReportPlugin from here using Subversion, or browse the source with Trac.
Install
1. Download latest pyExcelerator lib and install it.
--- pyExcelerator is open source python excel library
http://sourceforge.net/projects/pyexcelerator/
2. Configure
TicketReport\AgiloTicketReport\ticketreport.py
line 35
if you use single project
# just left PROJECT_NAME_PREFIX empty
PROJECT_NAME_PREFIX = ""
else # use multiple projects
for example:
# http://[ip]:[port]/projects/[PROJECT_NAME]
PROJECT_NAME_PREFIX = "projects"
3. working time time set up (optional)
TicketReport\AgiloTicketReport\gethours.py
line 12
start time and end time of working day, and holiday configuration
trac.ini
[ticket-workflow] + pending = new,assigned,accepted,reopened -> pending + pending.permissions = TICKET_MODIFY - resolve = new,assigned,accepted,reopened -> closed - accept = new,assigned,accepted,reopened -> accepted + resolve = new,assigned,accepted,reopened,pending -> closed + accept = new,assigned,accepted,reopened,pending -> accepted
Example
Web UI
Generated Excel Report
Recent Changes
[6587] by todjiang on 09/23/09 13:27:24
add "pending" status for ticket
[6581] by todjiang on 09/22/09 07:45:06
add milestone add query condition and only show running, closed backlogs
[6578] by todjiang on 09/21/09 19:20:02
move agilo ticket report plugin to trac-hacks
[6577] by todjiang on 09/21/09 18:51:09
New hack AgiloTicketReportPlugin, created by todjiang
Author/Contributors
Author: todjiang
Maintainer: none
Contributors:
Attachments
- ticket_report_r16_01.PNG (96.6 kB) - added by todjiang on 09/22/09 04:10:00.
- ticket_report_flow.JPG (22.1 kB) - added by todjiang on 09/22/09 04:21:44.
- ticket_report_r16_02.PNG (67.9 kB) - added by todjiang on 09/22/09 07:48:51.
- ticket_report.PNG (67.9 kB) - added by todjiang on 09/22/09 07:49:45.
- ticket_flow_chart2.PNG (31.8 kB) - added by todjiang on 09/23/09 12:01:32.

