Skip to content
Draft
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 28 additions & 0 deletions bugbot/rules/workflow/no_severity_ni.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
from bugbot.escalation import Escalation
from bugbot.nag_me import Nag
from bugbot.round_robin import RoundRobin
from bugbot.user_activity import UserActivity


class NoSeverityNeedInfo(BzCleaner, Nag):
Expand Down Expand Up @@ -76,6 +77,13 @@ def handle_bug(self, bug, data):
or utils.get_last_no_bot_comment_date(bug) > self.activity_date
):
return None

bugid = str(bug["id"])

data[bugid] = {
"triage_owner": bug["triage_owner"],
}

return bug

def get_mail_to_auto_ni(self, bug):
Expand Down Expand Up @@ -193,6 +201,26 @@ def get_bz_params(self, date):

return params

def filter_bugs(self, bugs):
users_info = UserActivity(include_fields=["groups", "requests"]).check_users(
set(bug["triage_owner"] for bug in bugs.values()),
keep_active=True,
fetch_employee_info=True,
)

filtered_bugs = {
bug_id: bug
for bug_id, bug in bugs.items()
if "requests" in users_info[bug["triage_owner"]]
and not users_info[bug["triage_owner"]]["requests"]["needinfo"]["blocked"]
}
return filtered_bugs

def get_bugs(self, *args, **kwargs):
bugs = super().get_bugs(*args, **kwargs)
bugs = self.filter_bugs(bugs)
return bugs


if __name__ == "__main__":
NoSeverityNeedInfo().run()