BugBot: Difference between revisions

4,116 bytes added ,  10 December
→‎Active Rules: Add a section about the inactive telemetry alerts rule.
(Fix many old typos)
(→‎Active Rules: Add a section about the inactive telemetry alerts rule.)
 
(18 intermediate revisions by 5 users not shown)
Line 12: Line 12:
If you want the bot to not make changes to a specific bug, add <code>[no-nag]</code> to its ''whiteboard'' field.
If you want the bot to not make changes to a specific bug, add <code>[no-nag]</code> to its ''whiteboard'' field.


= Rules =
= Active Rules =
{{BugBotRule
{{BugBotRule
  | Rule ID  = 163
   | Rule name = Variant Expiration
   | Rule name = Variant Expiration
   | Purpose  = Follow up on variants that need to be dropped or extended
   | Purpose  = Follow up on variants that need to be dropped or extended
Line 24: Line 25:
   | Action    = Close the bug as "INVALID" and move it to the "Invalid Bugs" product
   | Action    = Close the bug as "INVALID" and move it to the "Invalid Bugs" product
   | Source    = spambug.py  
   | Source    = spambug.py  
}}
{{BugBotRule
  | Rule name = File bugs for new actionable crashes
  | Purpose  = Automate discovering actionable crash reports to speed up fixes, reduce user impact, and save engineering time.
  | Action    = Open a crash bug with the relevant information
  | Source    = file_crash_bug.py
}}
}}
{{BugBotRule
{{BugBotRule
Line 54: Line 61:
   | Action    = Set the 'Has STR' field to be 'yes'  
   | Action    = Set the 'Has STR' field to be 'yes'  
   | Source    = has_str_no_hasstr.py  
   | Source    = has_str_no_hasstr.py  
}}
{{BugBotRule
  | Rule name = Bugs with STR and no regression range
  | Purpose  = Compleat missing metadata
  | Action    = Needinfo the bug creator to find the regression range
  | Source    = has_str_no_range.py
}}
}}
{{BugBotRule
{{BugBotRule
Line 169: Line 170:
}}
}}
{{BugBotRule
{{BugBotRule
   | Rule name = Increase severity of bugs tracked by Release Managers
   | Rule name = Needinfo triage owner to set severity on bugs
   | Purpose  = Fix inconsistency in metadata
   | Purpose  = Every defect should have a severity set. Also bugs with no severity set are harder to prioritize for Release Managers with regards to the release (see [https://firefox-source-docs.mozilla.org/bug-mgmt/policies/triage-bugzilla.html#what-do-you-triage what-do-you-triage])
   | Action    = If a bug is tracked for an upcoming release but it's severity field is low, the severity is increased
   | Action    = The triage owner is needinfoed in Bugzilla to set a severity on bugs
  | Example  = 1538966
   | Source    = workflow/no_severity_ni.py
   | Source    = tracked_bad_severity.py
  | Note      = Dropped in favor of [[BugBot#tracked_attention.py|Tracked bugs that need attention]]
}}
}}
{{BugBotRule
{{BugBotRule
   | Rule name = Nag triage owner to set severity on bugs
   | Rule name = Nag triage owner to set severity on bugs
   | Purpose  = Every defect should have a severity set. Also bugs with no severity set are harder to prioritize for Release Managers with regards to the release (see [https://firefox-source-docs.mozilla.org/bug-mgmt/policies/triage-bugzilla.html#what-do-you-triage what-do-you-triage])
   | Purpose  = Every defect should have a severity set. Also bugs with no severity set are harder to prioritize for Release Managers with regards to the release (see [https://firefox-source-docs.mozilla.org/bug-mgmt/policies/triage-bugzilla.html#what-do-you-triage what-do-you-triage])
   | Action    = The triage owner is needinfoed in Bugzilla or nagged via email to set a severity on bugs
   | Action    = The triage owner is nagged via email to set a severity on bugs
  | Example  = 1527818
   | Source    = workflow/no_severity_nag.py
   | Source    = workflow/no_severity.py
}}
}}
{{BugBotRule
{{BugBotRule
Line 238: Line 236:
   | Example  = 1620434
   | Example  = 1620434
   | Source    = uplift_beta.py
   | Source    = uplift_beta.py
}}
{{BugBotRule
  | Rule name = Fuzzing bisection without regressed_by
  | Purpose  = Identify bugs which contain a bisection made by fuzzing tools and an empty regressed_by, probably people forgot to set the field.
  | Action    = The bug assignee is needinfoed to ask to fill regressed_by when it's possible.
  | Example  = 1683535
  | Source    = fuzzing_bisection_without_regressed_by.py
  | Note      = Replaced with [[BugBot#bisection_without_regressed_by.py|Bisection without regressed_by]]
}}
}}
{{BugBotRule
{{BugBotRule
Line 267: Line 257:
   | Example  =  
   | Example  =  
   | Source    = inactive_ni_pending.py
   | Source    = inactive_ni_pending.py
}}
{{BugBotRule
  | Rule name = Bugs with top-crash signatures
  | Purpose  = Identify bugs that are missing topcrash or topcrash-startup keywords
  | Action    = Add the missing keyword and needinfo to suggest increasing severity in case of a low severity
  | Source    = topcrash_add_keyword.py
  | Note      = Replaced with [[BugBot#topcrash_highlight.py|topcrash_highlight.py]]
}}
}}
{{BugBotRule
{{BugBotRule
Line 280: Line 263:
   | Action    = Add the missing keywords and needinfo to suggest increasing severity in case of a low severity
   | Action    = Add the missing keywords and needinfo to suggest increasing severity in case of a low severity
   | Source    = topcrash_highlight.py  
   | Source    = topcrash_highlight.py  
}}
{{BugBotRule
  | Rule name = Topcrash notify
  | Purpose  = Identify topcrash bugs with needinfo without recent activity
  | Action    = Notify managers and release managers
  | Source    = topcrash_notify.py
}}
}}
{{BugBotRule
{{BugBotRule
Line 321: Line 310:
   | Purpose  = Identify bugs stalled because we need more information from 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
}}
{{BugBotRule
  | Rule name = Top crashers with low severity
  | Purpose  = Consistency and help getting traction on top-crash bugs
  | Action    = Needinfo the assignee or the triage owner if not assigned yet
  | Example  = 1471692
  | Source    = topcrash_bad_severity.py
  | Note      = Replaced with [[BugBot#topcrash_highlight.py|topcrash_highlight.py]]
}}
}}
{{BugBotRule
{{BugBotRule
Line 395: Line 376:
   | Action    = Needinfo to propose increasing the severity
   | Action    = Needinfo to propose increasing the severity
   | Source    = severity_high_security.py
   | Source    = severity_high_security.py
}}
{{BugBotRule
  | Rule name = Low severity bugs with tracking status
  | Purpose  = Suggest increasing the severity for bugs that are marked as blocking or are tracked for nightly, beta, or release
  | Action    = Needinfo the assignee or the triage owner if not assigned yet
  | Source    = severity_tracked.py
  | Note      = Dropped in favor of [[BugBot#tracked_attention.py|Tracked bugs that need attention]]
}}
}}
{{BugBotRule
{{BugBotRule
Line 487: Line 461:
   | Source    = moved_to_performance.py  
   | Source    = moved_to_performance.py  
}}
}}
{{BugBotRule
  | Rule name = Uh-hide duplicate security bugs
  | Purpose  = Publish security bugs that are already fixed and safe to be public.
  | Action    = Send emails to people in the security team to highlight security bugs which are duplicates of already-public bugs.
  | Source    = security_unhide_dups.py
}}
{{BugBotRule
  | Rule name = Label WebCompat platform bugs
  | Purpose  = Ensure core bugs blocking webcompat knowledge base entries have webcompat:platform-bug keyword.
  | Action    = Add webcompat:platform-bug keyword where it's missing
  | Source    = webcompat_platform_without_keyword.py
}}
{{BugBotRule
  | Rule name = Bugs with the [webcompat:sightline] whiteboard tag updated
  | Purpose  = Ensure webcompat bugs affecting a sightline top 1000 site have the appropriate keyword set
  | Action    = Add [webcompat:sightline] whiteboard tag where it's missing, or remove it when it shouldn't be set
  | Source    = webcompat_sightline.py
}}
{{BugBotRule
  | Rule name = Inactive performance regressions
  | Purpose  = Ensure progress continues on resolving performance regressions.
  | Action    = Needinfo author of regressor after a period of inactivity.
  | Source    = perfalert_inactive_regression.py
}}
{{BugBotRule
  | Rule name = Performance regression resolution monitoring
  | Purpose  = Ensure proper resolutions are provided for performance alerts, and request resolution reasoning if needed.
  | Action    = Needinfo individual who resolved alert when resolution reasoning is not provided, and provide summary emails of resolution changes.
  | Source    = perfalert_resolved_regression.py
}}
{{BugBotRule
  | Rule name = Inactive telemetry alerts
  | Purpose  = Ensure progress continues on resolving telemetry alerts.
  | Action    = Needinfo telemetry probe owner after a period of inactivity.
  | Source    = telemetryalert_inactive_regression.py
}}
{{BugBotRule
  | Rule name = web-features links
  | Purpose  = Ensure bugs marked with a web feature have see-also links to the relevant feature.
  | Action    = Add see-also links to bugs with `web-feature: <name>` in the user story.
  | Source    = web_platform_features.py
}}
= Removed Rules =
{{BugBotRule
  | Rule name = Fuzzing bisection without regressed_by
  | Purpose  = Identify bugs which contain a bisection made by fuzzing tools and an empty regressed_by, probably people forgot to set the field.
  | Action    = The bug assignee is needinfoed to ask to fill regressed_by when it's possible.
  | Example  = 1683535
  | Source    = fuzzing_bisection_without_regressed_by.py
  | Removed  = yes
  | Note      = Replaced with [[BugBot#bisection_without_regressed_by.py|Bisection without regressed_by]]
}}
{{BugBotRule
  | Rule name = Bugs with top-crash signatures
  | Purpose  = Identify bugs that are missing topcrash or topcrash-startup keywords
  | Action    = Add the missing keyword and needinfo to suggest increasing severity in case of a low severity
  | Source    = topcrash_add_keyword.py
  | Removed  = yes
  | Note      = Replaced with [[BugBot#topcrash_highlight.py|Highlight topcrash bugs]]
}}
{{BugBotRule
  | Rule name = Top crashers with low severity
  | Purpose  = Consistency and help getting traction on top-crash bugs
  | Action    = Needinfo the assignee or the triage owner if not assigned yet
  | Example  = 1471692
  | Source    = topcrash_bad_severity.py
  | Removed  = yes
  | Note      = Replaced with [[BugBot#topcrash_highlight.py|Highlight topcrash bugs]]
}}
{{BugBotRule
  | Rule name = Low severity bugs with tracking status
  | Purpose  = Suggest increasing the severity for bugs that are marked as blocking or are tracked for nightly, beta, or release
  | Action    = Needinfo the assignee or the triage owner if not assigned yet
  | Source    = severity_tracked.py
  | Removed  = yes
  | Note      = Dropped in favor of [[BugBot#tracked_attention.py|Tracked bugs that need attention]]
}}
{{BugBotRule
  | 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
  | Removed  = yes
  | Note      = Dropped in favor of [[BugBot#tracked_attention.py|Tracked bugs that need attention]]
}}
{{BugBotRule
  | Rule name = Bugs with STR and no regression range
  | Purpose  = Compleat missing metadata
  | Action    = Needinfo the bug creator to find the regression range
  | Source    = has_str_no_range.py
  | Removed  = yes
  | Note      = Removed on 2024-02-13
}}
{{BugBotRule
  | Rule name = Nag triage owner to set severity on bugs
  | Purpose  = Every defect should have a severity set. Also bugs with no severity set are harder to prioritize for Release Managers with regards to the release (see [https://firefox-source-docs.mozilla.org/bug-mgmt/policies/triage-bugzilla.html#what-do-you-triage what-do-you-triage])
  | Action    = The triage owner is needinfoed in Bugzilla or nagged via email to set a severity on bugs
  | Source    = workflow/no_severity.py
  | Removed  = yes
  | Note      = Split into two rules: [[BugBot#Needinfo_triage_owner_to_set_severity_on_bugs|Needinfo triage owner to set severity on bugs]] and [[BugBot#Nag_triage_owner_to_set_severity_on_bugs|Nag triage owner to set severity on bugs]]
}}
__TOC__
97

edits