This repository has been archived by the owner on Oct 8, 2021. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 1
Specifications
jerboaa edited this page Oct 16, 2010
·
4 revisions
Contents
In order to maintain a code of good quality, and to increase the bus number [*]_ Markus developers uses review board as a review tool. In order to systematize the assignment of review request to developpers, the idea of ReviewBot has emerged. ReviewBot would be a tool that automatically assigns Review Request to developers, and help us spot the bottleneck that occurs on ReviewBoard.
The developers will be divided in two groups: the Ancients and the Newcomers. Each review request will have to be reviewed by at least one member of the Ancients and one member of the Newcomers.
- ReviewBot has a list of members, composed of two groups
- The Ancients: developers with more than one semester of experience on Markus
- The Newcomers: developers with less than a semester of experience on Markus
- Every member starts with a score of 0.
- Every day, ReviewBot will look at the unassigned Review Request.
- For each unassigned Request, ReviwBot will assign a member of the Ancients, and one member of the Newcomers to review this ReviewRequest.
- When a member is assigned to a ReviewRequest, his score increments of a number determined by the complexity of the request (number of lines modified)
- To assign a ReviewRequest, ReviewBot will randomly choose a member among
the two groups, using the scores as a weight.
- if member A has a score of 2, and member B has a score of 4, ReviewBot will randomly choose one person out of (A A A A B B)
- When ReviewBot assigns the members to a Review Request, it should send the two members a mail.
- Once per week, ReviewBot should summarize the traffic on ReviewBoard
- Which reviews are still opened ?
- Who is assigned to them ?
- What review has been closed ?
- It would be awesome to have it talk in #markus, on IRC
On that note there is something called python-irclib. You should be able to do something like the following with it (I've tried it it doesn't work, though :-(:
irc = irclib.IRC()
server = irc.server()
server.connect("irc.freenode.net", 6667, "MarkUsReviewBoardBot")
server.privmsg("#markus", "Hi there!")
irc.process_forever()