BugBot: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
m (Add structured titles to have a TOC)
(Rewrite)
Line 1: Line 1:
{{ DISPLAYTITLE:Autonag, our bugzilla automatic triage bot and alerting system }}
{{ DISPLAYTITLE:Autonag: Bugzilla triaging bot and alerting system }}


<p style="font-size: larger; font-weight:bold;">
<p style="font-size: larger; font-weight:bold;">
This page lists all the actions done by the [https://github.com/mozilla/relman-auto-nag/tree/master/auto_nag/scripts Autonag bot].</p>
This page lists all the actions done by the [https://github.com/mozilla/relman-auto-nag/ Autonag bot].</p>


= Introduction =
= Introduction =
Autofix checkers are executed every hour at *:15. Checkers without autofix are run every day. 14:00 Paris time. ''For now, security bugs aren't touched.''
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 scripts we use to improve the quality of our bugs, decrease our triaging time and help Release Management ship better quality software is called '''Autonag'''.
 
Initially created as an alerting system (by email) to our triagers, Autonag rules now also make changes to our bugs metadata on Bugzilla so as to fix inconsistencies.
 
Rules that change automatically some data in Bugzilla (change a priority, needinfo somebody, close a bug…) are called "Rules with Autofix" and those rules are applied once per hour. ''For now, security bugs aren't touched.''
 
Rules that do not change data but have other results such as generate a report or send an email are called "Rules without Autofix". Rules without autofix are processed once a day (at 2PM CET).


= Rules =
= Rules =
== With autofix ==
== With autofix ==


{| class="wikitable"
{{AutonagRule
|-
  | Rule name = Bug assigned but marked as <code>UNCONFIRMED</code>
! File
  | Purpose  = Mitigate an issue in Bugzilla (bugs reported by new users are not tagged as <code>NEW</code>
! Rules
  | Action    = Change the status from <code>UNCONFIRMED</code> to <code>ASSIGNED</code> if there is an assignee
! Why
  | Example  = 1495908
! Example
  | Source    = assignee_but_unconfirmed.py  
|-
}}
| assignee_but_unconfirmed.py
{{AutonagRule
| Change the status from unconfirmed to assigned if there is an assignee
  | Rule name = Regression keyword is missing
| Mitigate an issue in bugzilla (bugs reported by new bugzilla users are not tagged as NEW)
  | Purpose  = Regression keyword is important to differentiate an actual defect
| {{Bug|1495908}}
  | Action    = Sets the <code>regression</code> keyword on bugs with the <code>regression-range-wanted</code> keyword is set
|-
  | Example  = 1461034
| has_regression_range_no_keyword.py  
  | Source    = has_regression_range_no_keyword.py  
| Regression range = yes has been set but missing keyword
}}
| Regression keyword is important to differentiate actual defect
{{AutonagRule
| {{Bug|1461034}}
  | Rule name = Remove <code>leave-open</code> keyword on closed bug
|-
  | Purpose  = Clean up a mismatch in metadata
| leave_open.py  
  | Action    = If a bug is closed but the <code>leave-open</code> keyword is still set, remove it
| Remove the leave-open keyword on bug closed
  | Example  = 1382185
| Mismatch in metadata
  | Source    = leave_open.py  
| {{Bug|1382185}}
}}
|-
{{AutonagRule
| meta_summary_missing.py  
  | Rule name = [meta] in title but not in keywords
| Has [meta] in the description but not the keyword
  | Purpose  = Improve metedata quality
| Keyword helps a lot in search
  | Action    = Adds the <code>meta</code> keyword if the bug title starts by [META]
| {{Bug|1435799}}
  | Example  = 1435799  
|-
  | Source    = meta_summary_missing.py  
| nightly_reopened.py  
}}
| If a bug is reopened in nightly, the status flags aren’t automatically updated
{{AutonagRule
| Avoids some potential issues for sheriff and release managers
  | Rule name = Update Firefox Status flags for bugs reopened during Nightly cycle
| {{bug|1495962}}
  | Purpose  = Avoids potential issues for sheriffs and release managers
|-
  | Action    = Set <code>firefox-status</code> flag back from ''fixed'' to ''affected''
| no_assignee.py  
  | Example  = 1495962
| no assignees and a patch which landed in m-c
  | Source    = nightly_reopened.py
| Bugs without assignee is making our life harder
}}
| {{bug|1514338}}
{{AutonagRule
|-
  | Rule name = Bug with no assignee but a patch landed
| no_crashes.py
  | Purpose  = Attribute unassigned bug to the developer that fixed it
| Crash bugs without any crash reports for more than 12 weeks
  | Action    = The ASSIGNEE field on the bug is changed from nobody@mozilla.org to the author of the patch that landed in mozilla-central
| Mitigate the backlog
  | Example  = 1514338
| {{bug|1470864}}
  | Source    = no_assignee.py
|-
}}
| stalled.py
{{AutonagRule
| But closed but has the stalled keyword
  | Rule name = Close crash bugs with no crashes over 12 weeks
| If the bug is closed, it isn't stalled anymore
  | Purpose  = Reduce the backlog of bugs to check for Release Managers
| {{bug|1491624}}
  | Action    = Crash bugs without any crash reports for more than 12 weeks
|-
  | Example  = 1470864
| summary_meta_missing.py  
  | Source    = no_crashes.py
| Has the meta keyword but [meta] is missing in the description
}}
| Having [meta] in the summary help with search of bugs
{{AutonagRule
| {{bug|1257692}}
  | Rule name = Remove <code>stalled</code> keyword on closed bugs
|-
  | Purpose  = Fix inconsistency between metadata and bug status
| missing_beta_status.py  
  | Action    = If a bug is marked as <code>FIXED</code> and also has a <code>stalled</code> keyword set, the keyword is removed
| Status flags are set for nightly and release but not for beta
  | Example  = 1491624
| Inconsistency in status flags
  | Source    = stalled.py
| {{bug|1500273}}
}}
|-
{{AutonagRule
| mismatch-priority-tracking-*.py
  | Rule name = Has meta keyword but not [meta] in the bug title
| If a bug is tracked by a release manager, update the priority (P2 for nightly, P1 for the rest)
  | Purpose  = Having [meta] in the bug title helps with quick search results
| Show that it is important
  | Action    = If a bug has the meta keyword set, [meta] is added to the bug title
| {{bug|1515946}} <br> {{bug|1508277}} <br> {{bug|1512493}}
  | Example  = 1257692
|-
  | Source    = summary_meta_missing.py
| regression.py
}}
| Bug without the regression keyword
{{AutonagRule
| Regression keyword is important to differentiate actual defect. Uses machine learning
  | Rule name = Set a Firefox status flag for beta if there is one for nightly and release
| {{bug|1529139}}
  | Purpose  = Fix inconsistency in Firefox status flags that can lead to a bug going undetected by Release Managers during the beta cycle
|-
  | Action    = If a status exist for Firefox N-1 and for Firefox N+1, guess a value for Firefox N
| component.py  
  | Example  = 1500273
| Bug in untriaged
  | Source    = missing_beta_status.py
| Move the bug into the right component. Uses machine learning
}}
| {{bug|1530316}}
{{AutonagRule
|-
  | Rule name = Increase priority of bugs tracked y Release Managers
| copy_duplicate_info.py  
  | Purpose  = Priotitizes bugs needing an action for shipping quality software
| Bug resolved as duplicate
  | Action    = If a bug is tracked by a Release Manager, update the priority (P2 for nightly, P1 for the rest)
| Copy crash signatures from dup bug to original bug and copy product/component from original t dup.
  | Example  = 1515946,1508277,1512493
| {{bug|1517205}}
  | Source    = mismatch_priority_tracking_release.py
|-
  | Note      = There are multiple files mismatch-priority-tracking-*.py, one per channel
| tracked_bad_severity.py  
}}
| Bug tracked by release managers but small severity
{{AutonagRule
| Inconsistency in metadata
  | Rule name = Add <code>regression</code> keywords to bugs (uses Machine Learning)
| {{bug|1538966}}
  | Purpose  = Surface regressions not filed as such
|-
  | Action    = If a bug is tracked by a Release Manager, update the priority (P2 for nightly, P1 for the rest)
| workflow/no_priority.py
  | Example  = 1529139
| Bug with no priority set.
  | Source    = regression.py  
| Needinfo or nag triage owner to set priority.
}}
| {{bug|1527818}}
{{AutonagRule
|}
  | Rule name = Move untriaged bug into the correct component (uses machine learning
  | Purpose  = Decrease manual triagin time
  | Action    = Uses machine learning to mass move bugs in Firefox::Untriaged into a better component
  | Example  = 1530316
  | Source    = component.py  
}}
{{AutonagRule
  | Rule name = Copy crash signature from duplicate bugs to main bugs
  | Purpose  = Crash bugs marked as duplicate of another one may have a different crash signature. We need to consolidate all signatures in the bug where a patch to fix them is being worked on, other wise we may not fix them all
  | Action    = If a crash bug is marked as a duplicate, the signatures it referenced are added to the new bug
  | Example  = 1517205
  | Source    = copy_duplicate_info.py  
}}
{{AutonagRule
  | Rule name = Increase  severity of bugs tracked by Release Managers
  | Purpose  = Fix inconsistency in metadata
  | Action    = If a bug is tracked for an upcoming release but it's severity field is low, the severity is increased
  | Example  = 1538966
  | Source    = tracked_bad_severity.py
}}
{{AutonagRule
  | Rule name = Nag triage owner to set priority on bugs
  | Purpose  = Bugs with no priority set are harder to prioritize for Release Managers with regards to the release
  | Action    = The triage owner is needinfoed in Bugzilla or nagged via email to set a priority on bugs
  | Example  = 1527818
  | Source    = workflow/no_priority.py
}}
 


== Without autofix ==
== Without autofix ==
{|  class="wikitable"
|-
! File
! Rules
! Why
! Action
! Example
|-
| feature_regression.py
| the bug with both feature and regression keywords
| Mismatch in metadata
| Not yet
|
|-
| leave_open_no_activity.py
| Has the leave-open keyword but no activity for a while
| Help identify dead/inactive bugs
| Needinfo to triage owner
| {{Bug|1367072}}
|-
| meta_no_deps_no_activity.py
| Meta bug without open dependencies and no activity
| Help identify dead/inactive bugs
| Needinfo to triage owner
|
|-
| mismatch-priority-tracking.py
| A bug is tracked by release management but the severity is small (<normal)
| Mismatch in metadata
| Not yet
|
|-
| ni_from_manager.py
| Bugs with a ni from a director or a release manager and no activity
| We need to have fast turn around on bugs
| Mail
|
|-
| ni_triage_owner.py
| Bugs with no priority and no activity
| Triage owners need to process the backlog
| Needinfo to triage owner (only Andrew for now)
| {{bug|1503461}}
|-
| one_two_word_summary.py
| Bugs with only one or two words in the summary
| usually a sign of an useless bug
| Not yet
| {{bug|1512823}}
|-
| query_creator.py
| Send reminders to developer with assigned tracked bugs
| Make sure that bugs for the next release are addressed
| Not yet
|
|-
| reporter_with_ni.py
| Identify bugs with needinfo on the reporter without activity
| Usually a sign of a reporter not answering to more requests
| Not yet
|
|-
| topcrash_bad_severity.py
| Topcrash bugs with normal severity
| Consistency and help getting traction on bugs
| Not yet
| {{bug|1471692}}
|-
| tracked_needinfo.py
| Tracked or Nominated for Tracking with Need-Info?
| Make sure that bugs for the next release are addressed
| Email
|
|-
| tracking.py
| Get the tracked bugs in a release and untouched this week
| Identify inactive bugs
| Email
|
|-
| unaffected_affected_no_reg.py
| List bugs marked as non affecting a release but affecting the next one
| Sign of a regression
| Email
|
|-
| unlanded.py
| Patches which didn’t land on beta and esr
| Make sure that we ship with the bugs that we need
| Email
| {{bug|1509394}}
|-
| untriage_important_sev.py
| Firfox/untriaged with an important severity
| Identify potential important issues in untriage
| Not yet
|
|-
| version_affected.py
| Bug with version set but not status_firefox
| Version is set automatically by bugzilla but status_firefox isn’t
| Email
|
|-
| ../next_release.py
| Check if the release dates are consistent on the Wiki pages
| We use these dates in automation
| Email
|
|-
| code_freeze_week.py
| Fixed bug with patches which landed in mozilla-central during the soft freeze week
| Give some information like number of patches, number of changed lines, ...
| Email
|
|-
| missed_uplifts.py
| Fixed bug in nightly with patches and beta or release affected.
| Give some information about priority, severity, ...
| Email
|
|-
| newbie_with_ni.py
| Bug where the reporter has a needinfo and with no activity
| Help to identify probably unactionnable bugs because of lack of information
| Email
|
|-
| not_landed.py
| Bug with a r+ patch but the patch didn't land.
| Maybe a checkin-needed is required or the patch is obsolete
| Email
|
|}


{{AutonagRule
  | Rule name = Feature vs regression
  | Purpose  = Fix inconsistency in bugs with both the <code>regression</code> and <code>feature</code> keywords set
  | Source    = feature_regression.py
}}
{{AutonagRule
  | Rule name = Inactive bugs with the <code>leave-open</code> keyword set
  | Purpose  = Help identify dead/inactive bugs
  | Action    = Needinfo the triage owner if a bug is inactive but has the <code>leave-open</code> keyword set
  | Example  = 1367072
  | Source    = leave_open_no_activity.py
}}
{{AutonagRule
  | Rule name = Inactive Meta bugs
  | Purpose  = Help identify dead/inactive bugs
  | Action    = Needinfo the triage owner if a meta bug has no activity and no dependencies set
  | Source    = meta_no_deps_no_activity.py
}}
{{AutonagRule
  | Rule name = Low-severity bug but tracked by a release manager
  | Purpose  = Idenitfy mismatch in metadata, a tracked bug should not have a priotity lower than ''normal''
  | Source    = mismatch-priority-tracking.py
}}
{{AutonagRule
  | Rule name = Alert for lack of feedback in a bug
  | 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
  | Source    = ni_from_manager.py
}}
{{AutonagRule
  | Rule name = Bugs with no priority and no activity
  | Purpose  = Triage owners need to process the backlog
  | Action    = Needinfo the triage owner (only :Overholt for now)
  | Example  = 1503461
  | Source    = ni_triage_owner.py
}}
{{AutonagRule
  | Rule name = Bugs with only one or two words in the summary
  | Purpose  = Make sure the bug is actually useful, a two-words summary often indicates a poor quality bug report
  | Example  = 1512823
  | Source    = one_two_word_summary.py
}}
{{AutonagRule
  | Rule name = Remind developers about tracked bugs
  | Purpose  = Make sure that bugs tracked for the next release are addressed
  | Source    = query_creator.py
}}
{{AutonagRule
  | Rule name = Reporter not answering to Needinfo request
  | Purpose  = identify bugs stalled because we need more information fron the reporter to reproduce it
  | Source    = reporter_with_ni.py
}}
{{AutonagRule
  | Rule name = Top crashers vs ''normal'' severity
  | Purpose  = Consistency and help getting traction on bugs
  | Example  = 1471692
  | Source    = topcrash_bad_severity.py
}}
{{AutonagRule
  | Rule name = Identify tracked bugs with a NeedInfo request
  | Purpose  = Make sure that bugs tracked for a release or nominated for tracking which also have a NeedInfo request do not get stuck
  | Action    = Send an email
  | Source    = tracked_needinfo.py
}}
{{AutonagRule
  | Rule name = Tracked bugs untouched for a week
  | Purpose  = Identify important bugs for a release which are not being acted upon
  | Action    = Send an email
  | Source    = tracking.py
}}
{{AutonagRule
  | Rule name = Regressed in upcoming release
  | Purpose  = Identify potential regression
  | Action    = Send an email with the list of bugs marked as non affecting a release but affecting the next one
  | Source    = unaffected_affected_no_reg.py
}}
{{AutonagRule
  | Rule name = Identify unlanded uplifts to Beta and ESR
  | Purpose  =  Make sure that we ship with the bugs that we need
  | Action    = Send an email wih the list of bugs with uplift requests not landed on the affected branch
  | Example  = 1509394
  | Source    = unlanded.py
}}
{{AutonagRule
  | Rule name = Bugs with high severity in Firefox::Untriaged
  | Purpose  = Identify potentially important issues left untriaged
  | Source    = untriage_important_sev.py
}}
{{AutonagRule
  | Rule name = <code>Version</code> set but not <code>status_firefox</code>
  | Purpose  = The <code>Version</code> value is set automatically by Bugzilla on landing a patch  but not the <code>status_firefoxXX</code>
  | Action    = Send an email
  | Source    = version_affected.py
}}
{{AutonagRule
  | Rule name = Check release dates on the Wiki
  | Purpose  = Verify the consistency of our release dates on wiki.mozilla.org as we use them in automation
  | Action    = Send an email
  | Source    = ../next_release.py
}}
{{AutonagRule
  | Rule name = Information about bugs landed during Soft Code Freeze
  | Purpose  = List fixed bug with patches  which landed in mozilla-central during the soft freeze week. The listing includes patch statistics.
  | Action    = Send an email
  | Source    = code_freeze_week.py
}}
{{AutonagRule
  | Rule name = Hightlight Fixed bugs in nightly we may want to uplift
  | Purpose  = Identify potentially upliftable  bugs.
  | Action    = Send an email with the recent fixes, the affected branches and metadata for prioritization
  | Source    = missed_uplifts.py
}}
{{AutonagRule
  | Rule name = New user with a Needinfo request
  | Purpose  = Help identify potentially unactionnable bugs per lack of information
  | Action    = Send an email
  | Source    = newbie_with_ni.py
}}
{{AutonagRule
  | 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.
  | Action    = Send an email
  | Source    = not_landed.py
}}
[[category:Release_Management|Autonag]]
[[category:Release_Management|Autonag]]

Revision as of 13:35, 17 April 2019


This page lists all the actions done by the Autonag bot.

Introduction

Every day hundreds of tickets are opened in 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 scripts we use to improve the quality of our bugs, decrease our triaging time and help Release Management ship better quality software is called Autonag.

Initially created as an alerting system (by email) to our triagers, Autonag rules now also make changes to our bugs metadata on Bugzilla so as to fix inconsistencies.

Rules that change automatically some data in Bugzilla (change a priority, needinfo somebody, close a bug…) are called "Rules with Autofix" and those rules are applied once per hour. For now, security bugs aren't touched.

Rules that do not change data but have other results such as generate a report or send an email are called "Rules without Autofix". Rules without autofix are processed once a day (at 2PM CET).

Rules

With autofix

Bug assigned but marked as UNCONFIRMED

Purpose Mitigate an issue in Bugzilla (bugs reported by new users are not tagged as NEW
Action Change the status from UNCONFIRMED to ASSIGNED if there is an assignee
Example Bug 1495908
Code assignee_but_unconfirmed.py


Regression keyword is missing

Purpose Regression keyword is important to differentiate an actual defect
Action Sets the regression keyword on bugs with the regression-range-wanted keyword is set
Example Bug 1461034
Code has_regression_range_no_keyword.py


Remove leave-open keyword on closed bug

Purpose Clean up a mismatch in metadata
Action If a bug is closed but the leave-open keyword is still set, remove it
Example Bug 1382185
Code leave_open.py


[meta] in title but not in keywords

Purpose Improve metedata quality
Action Adds the meta keyword if the bug title starts by [META]
Example Bug 1435799
Code meta_summary_missing.py


Update Firefox Status flags for bugs reopened during Nightly cycle

Purpose Avoids potential issues for sheriffs and release managers
Action Set firefox-status flag back from fixed to affected
Example Bug 1495962
Code nightly_reopened.py


Bug with no assignee but a patch landed

Purpose Attribute unassigned bug to the developer that fixed it
Action The ASSIGNEE field on the bug is changed from nobody@mozilla.org to the author of the patch that landed in mozilla-central
Example Bug 1514338
Code no_assignee.py


Close crash bugs with no crashes over 12 weeks

Purpose Reduce the backlog of bugs to check for Release Managers
Action Crash bugs without any crash reports for more than 12 weeks
Example Bug 1470864
Code no_crashes.py


Remove stalled keyword on closed bugs

Purpose Fix inconsistency between metadata and bug status
Action If a bug is marked as FIXED and also has a stalled keyword set, the keyword is removed
Example Bug 1491624
Code stalled.py


Has meta keyword but not [meta] in the bug title

Purpose Having [meta] in the bug title helps with quick search results
Action If a bug has the meta keyword set, [meta] is added to the bug title
Example Bug 1257692
Code summary_meta_missing.py


Set a Firefox status flag for beta if there is one for nightly and release

Purpose Fix inconsistency in Firefox status flags that can lead to a bug going undetected by Release Managers during the beta cycle
Action If a status exist for Firefox N-1 and for Firefox N+1, guess a value for Firefox N
Example Bug 1500273
Code missing_beta_status.py


Increase priority of bugs tracked y Release Managers

Purpose Priotitizes bugs needing an action for shipping quality software
Action If a bug is tracked by a Release Manager, update the priority (P2 for nightly, P1 for the rest)
Example Bug 1515946,1508277,1512493
Code mismatch_priority_tracking_release.py
Note There are multiple files mismatch-priority-tracking-*.py, one per channel


Add regression keywords to bugs (uses Machine Learning)

Purpose Surface regressions not filed as such
Action If a bug is tracked by a Release Manager, update the priority (P2 for nightly, P1 for the rest)
Example Bug 1529139
Code regression.py


Move untriaged bug into the correct component (uses machine learning)

Purpose Decrease manual triagin time
Action Uses machine learning to mass move bugs in Firefox::Untriaged into a better component
Example Bug 1530316
Code component.py


Copy crash signature from duplicate bugs to main bugs

Purpose Crash bugs marked as duplicate of another one may have a different crash signature. We need to consolidate all signatures in the bug where a patch to fix them is being worked on, other wise we may not fix them all
Action If a crash bug is marked as a duplicate, the signatures it referenced are added to the new bug
Example Bug 1517205
Code copy_duplicate_info.py


Increase severity of bugs tracked by Release Managers

Purpose Fix inconsistency in metadata
Action If a bug is tracked for an upcoming release but it's severity field is low, the severity is increased
Example Bug 1538966
Code tracked_bad_severity.py


Nag triage owner to set priority on bugs

Purpose Bugs with no priority set are harder to prioritize for Release Managers with regards to the release
Action The triage owner is needinfoed in Bugzilla or nagged via email to set a priority on bugs
Example Bug 1527818
Code workflow/no_priority.py


Without autofix

Feature vs regression

Purpose Fix inconsistency in bugs with both the regression and feature keywords set
Action No action yet
Code feature_regression.py


Inactive bugs with the leave-open keyword set

Purpose Help identify dead/inactive bugs
Action Needinfo the triage owner if a bug is inactive but has the leave-open keyword set
Example Bug 1367072
Code leave_open_no_activity.py


Inactive Meta bugs

Purpose Help identify dead/inactive bugs
Action Needinfo the triage owner if a meta bug has no activity and no dependencies set
Code meta_no_deps_no_activity.py


Low-severity bug but tracked by a release manager

Purpose Idenitfy mismatch in metadata, a tracked bug should not have a priotity lower than normal
Action No action yet
Code mismatch-priority-tracking.py


Alert for lack of feedback in a bug

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
Code ni_from_manager.py


Bugs with no priority and no activity

Purpose Triage owners need to process the backlog
Action Needinfo the triage owner (only :Overholt for now)
Example Bug 1503461
Code ni_triage_owner.py


Bugs with only one or two words in the summary

Purpose Make sure the bug is actually useful, a two-words summary often indicates a poor quality bug report
Action No action yet
Example Bug 1512823
Code one_two_word_summary.py


Remind developers about tracked bugs

Purpose Make sure that bugs tracked for the next release are addressed
Action No action yet
Code query_creator.py


Reporter not answering to Needinfo request

Purpose identify bugs stalled because we need more information fron the reporter to reproduce it
Action No action yet
Code reporter_with_ni.py


Top crashers vs normal severity

Purpose Consistency and help getting traction on bugs
Action No action yet
Example Bug 1471692
Code topcrash_bad_severity.py


Identify tracked bugs with a NeedInfo request

Purpose Make sure that bugs tracked for a release or nominated for tracking which also have a NeedInfo request do not get stuck
Action Send an email
Code tracked_needinfo.py


Tracked bugs untouched for a week

Purpose Identify important bugs for a release which are not being acted upon
Action Send an email
Code tracking.py


Regressed in upcoming release

Purpose Identify potential regression
Action Send an email with the list of bugs marked as non affecting a release but affecting the next one
Code unaffected_affected_no_reg.py


Identify unlanded uplifts to Beta and ESR

Purpose Make sure that we ship with the bugs that we need
Action Send an email wih the list of bugs with uplift requests not landed on the affected branch
Example Bug 1509394
Code unlanded.py


Bugs with high severity in Firefox::Untriaged

Purpose Identify potentially important issues left untriaged
Action No action yet
Code untriage_important_sev.py


Version set but not status_firefox

Purpose The Version value is set automatically by Bugzilla on landing a patch but not the status_firefoxXX
Action Send an email
Code version_affected.py


Check release dates on the Wiki

Purpose Verify the consistency of our release dates on wiki.mozilla.org as we use them in automation
Action Send an email
Code ../next_release.py


Information about bugs landed during Soft Code Freeze

Purpose List fixed bug with patches which landed in mozilla-central during the soft freeze week. The listing includes patch statistics.
Action Send an email
Code code_freeze_week.py


Hightlight Fixed bugs in nightly we may want to uplift

Purpose Identify potentially upliftable bugs.
Action Send an email with the recent fixes, the affected branches and metadata for prioritization
Code missed_uplifts.py


New user with a Needinfo request

Purpose Help identify potentially unactionnable bugs per lack of information
Action Send an email
Code newbie_with_ni.py


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 checkin-needed keyword set.
Action Send an email
Code not_landed.py