BugBot: Difference between revisions

Fix many old typos
(Add the topcrash_highlight tool)
(Fix many old typos)
Line 6: Line 6:
= Introduction =
= Introduction =
Every day hundreds of tickets are opened in [https://bugzilla.mozilla.org Bugzilla] which track the tasks, defects and enhancements needed for the development of Firefox and other Mozilla projects.
Every day hundreds of tickets are opened in [https://bugzilla.mozilla.org Bugzilla] which track the tasks, defects and enhancements needed for the development of Firefox and other Mozilla projects.
Triaging and priotirizing these bugs are an essential part of our development process and we automate part of this process so as to increase our development turn around and improve the quality of our bugs metadata. The set of tools we use to improve the quality of our bugs, decrease our triaging time and help Release Management ship better quality software is called '''BugBot''' (formerly known as Autonag).
Triaging and prioritizing these bugs are an essential part of our development process and we automate part of this process so as to increase our development turn around and improve the quality of our bugs metadata. The set of tools we use to improve the quality of our bugs, decrease our triaging time and help Release Management ship better quality software is called '''BugBot''' (formerly known as Autonag).


Initially created as an alerting system (by email) to our triagers, BugBot rules now also make changes to our bugs metadata on Bugzilla so as to fix inconsistencies.
Initially created as an alerting system (by email) to our triagers, BugBot rules now also make changes to our bugs metadata on Bugzilla so as to fix inconsistencies.
Line 199: Line 199:
{{BugBotRule
{{BugBotRule
   | Rule name = Change the priority from P2 to P1 on assigned bug the merge day
   | Rule name = Change the priority from P2 to P1 on assigned bug the merge day
   | Purpose  = Since P2 means that the bug should be fixed for the next next release (see [https://firefox-source-docs.mozilla.org/bug-mgmt/policies/triage-bugzilla.html#what-do-you-triage what-do-you-triage]), when we are the merge day then this bug automatically becomes a P1.
   | Purpose  = Since P2 means that the bug should be fixed for the next release (see [https://firefox-source-docs.mozilla.org/bug-mgmt/policies/triage-bugzilla.html#what-do-you-triage what-do-you-triage]), when we are the merge day then this bug automatically becomes a P1.
   | Action    = Update the priority to P1 and add a comment to explain.
   | Action    = Update the priority to P1 and add a comment to explain.
   | Example  =  
   | Example  =  
Line 207: Line 207:
   | Rule name = Patch not landed  
   | Rule name = Patch not landed  
   | Purpose  = Identify bugs with an unlanded r+ patch. Maybe the patch is now obsolete or the bug needs to have a sheriff land the code with the <code>checkin-needed</code> keyword set.
   | Purpose  = Identify bugs with an unlanded r+ patch. Maybe the patch is now obsolete or the bug needs to have a sheriff land the code with the <code>checkin-needed</code> keyword set.
   | Action    = The bug assignee is needinfoed in Bugzilla to ask her/him to have look
   | Action    = The bug assignee is needinfoed in Bugzilla to ask her/him to have a look
   | Example  = 1496844
   | Example  = 1496844
   | Source    = not_landed.py
   | Source    = not_landed.py
Line 308: Line 308:
   | Rule name = Alert for lack of feedback in a bug
   | Rule name = Alert for lack of feedback in a bug
   | Purpose  = Increase reaction time on bugs prioritized by upper management or release managers
   | Purpose  = Increase reaction time on bugs prioritized by upper management or release managers
   | Action    = If a bug as an unanswered NeedInfo request from a release manager or a director, send a warning email
   | Action    = If a bug has an unanswered needinfo request from a release manager or a director, send a warning email
   | Source    = ni_from_manager.py  
   | Source    = ni_from_manager.py  
}}
}}
Line 319: Line 319:
{{BugBotRule
{{BugBotRule
   | Rule name = Reporter not answering to Needinfo request
   | Rule name = Reporter not answering to Needinfo request
   | Purpose  = identify bugs stalled because we need more information fron the reporter to reproduce it
   | Purpose  = Identify bugs stalled because we need more information from the reporter to reproduce it
   | Source    = reporter_with_ni.py
   | Source    = reporter_with_ni.py
}}
}}
Line 368: Line 368:
{{BugBotRule
{{BugBotRule
   | Rule name = New user with a Needinfo request
   | Rule name = New user with a Needinfo request
   | Purpose  = Help identify potentially unactionnable bugs per lack of information
   | Purpose  = Help identify potentially unactionable bugs per lack of information
   | Action    = Send an email
   | Action    = Send an email
   | Source    = newbie_with_ni.py
   | Source    = newbie_with_ni.py
Line 385: Line 385:
}}
}}
{{BugBotRule
{{BugBotRule
   | Rule name = Regression bugs where regressor author is not involved
   | Rule name = Regression bugs where the regressor author is not involved
   | Purpose  = Highlight regressions to people who caused them
   | Purpose  = Highlight regressions to people who caused them
   | Action    = Needinfo the assignee of the bug that caused the regression
   | Action    = Needinfo the assignee of the bug that caused the regression