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.

Download

Source

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