5 | | Agilo (http://agile42.com/cms/pages/) is nice scrum process tools base on trac. The agilo ticket only has remaining time property. Some of my projects manager wanted to know the exactly working time during each ticket, so I developed this plugin for agilo. Thanks to agilo developers' sharing this tool, I just contribute something to open source community. |
| 5 | 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. |
| 6 | == Solution == |
| 7 | There is table named "ticket_change" in database make records of every ticket changes. So we can do data mining in current Trac Database. |
| 8 | ==== Real working hours = ticket closed time - ticket accept time - None working time ==== |
| 9 | ==== Working time = from 9:00 am to 6:00 pm (exactly 9 hour including 1 hour lunch time) from Monday to Friday ==== |
| 10 | ==== None working time = from 18 pm to next day 9 am of working days, Sta, Sun, Holidays(Manual configure) ==== |
| 11 | == Ticket Work Flow == |
| 12 | ==== ''Desc: O = open, As = assigned, A = accepted, C = closed, R = reopened'' ==== |
| 13 | [[Image(ticket_report_flow.JPG)]] |
| 14 | |
| 15 | Although standard process is O-->As-->-->A-->C-->R-->A-->C, but there are still some tickets do not follow the rule. |
| 16 | |
| 17 | line1 = T4 |
| 18 | |
| 19 | line2 = T5 |
| 20 | |
| 21 | line3 = T1 +T2 |
| 22 | |
| 23 | line4= T1+T3 |
| 41 | |
| 42 | == Install == |
| 43 | |
| 44 | {{{ |
| 45 | 1. Download latest pyExcelerator lib and install it. |
| 46 | --- pyExcelerator is open source python excel library |
| 47 | http://sourceforge.net/projects/pyexcelerator/ |
| 48 | |
| 49 | 2. Configure |
| 50 | |
| 51 | TicketReport\AgiloTicketReport\ticketreport.py |
| 52 | line 35 |
| 53 | |
| 54 | if you use single project |
| 55 | # just left PROJECT_NAME_PREFIX empty |
| 56 | PROJECT_NAME_PREFIX = "" |
| 57 | else # use multiple projects |
| 58 | for example: |
| 59 | # http://[ip]:[port]/projects/[PROJECT_NAME] |
| 60 | PROJECT_NAME_PREFIX = "projects" |
| 61 | |
| 62 | 3. working time time set up (optional) |
| 63 | TicketReport\AgiloTicketReport\gethours.py |
| 64 | line 12 |
| 65 | start time and end time of working day, and holiday configuration |
| 66 | }}} |
| 67 | |
| 68 | |