Autonag, our bugzilla automatic triage bot and alerting system
This page lists all the actions done by the Autonag bot.
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.
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</code 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 |
| regression.py
| Bug without the regression keyword
| Regression keyword is important to differentiate actual defect. Uses machine learning
| bug 1529139
|-
| component.py
| Bug in untriaged
| Move the bug into the right component. Uses machine learning
| bug 1530316
|-
| copy_duplicate_info.py
| Bug resolved as duplicate
| Copy crash signatures from dup bug to original bug and copy product/component from original t dup.
| bug 1517205
|-
| tracked_bad_severity.py
| Bug tracked by release managers but small severity
| Inconsistency in metadata
| bug 1538966
|-
| workflow/no_priority.py
| Bug with no priority set.
| Needinfo or nag triage owner to set priority.
| bug 1527818
|}
Without autofix
| 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 | ||
| 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 | ||
| tracking.py | Get the tracked bugs in a release and untouched this week | Identify inactive bugs | ||
| unaffected_affected_no_reg.py | List bugs marked as non affecting a release but affecting the next one | Sign of a regression | ||
| unlanded.py | Patches which didn’t land on beta and esr | Make sure that we ship with the bugs that we need | 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 | ||
| ../next_release.py | Check if the release dates are consistent on the Wiki pages | We use these dates in automation | ||
| 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, ... | ||
| missed_uplifts.py | Fixed bug in nightly with patches and beta or release affected. | Give some information about priority, severity, ... | ||
| 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 | ||
| 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 |