Autonag, our bugzilla automatic triage bot and alerting system
Jump to navigation
Jump to search
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 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
| 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 |