diff --git a/assignbot/__main__.py b/assignbot/__main__.py index 8c414ce4ad985c37514ffd6e9a97f7278886810c..c07f8a48557bd3428d38f0cc5c97220459032545 100644 --- a/assignbot/__main__.py +++ b/assignbot/__main__.py @@ -21,8 +21,7 @@ import os from argparse import ArgumentParser -from itertools import chain -from random import choice +from random import choice, shuffle from datetime import datetime, timedelta import yaml @@ -140,27 +139,29 @@ class ReviewAssigner: print(f"{user.name} has been assigned to {merge_request.title}") def all_reviews_to_do(self): - mr_with_to_review_tag = self.cnx.mergerequests.list( + merge_requests = self.cnx.mergerequests.list( labels=TO_REVIEW_LABEL, state="opened", wip="no", scope="all", assignee_id="None", - as_list=False, all=True, ) - mr_with_no_tags = self.cnx.mergerequests.list( - labels="None", - state="opened", - wip="no", - scope="all", - assignee_id="None", - as_list=False, - all=True, + merge_requests.extend( + self.cnx.mergerequests.list( + labels="None", + state="opened", + wip="no", + scope="all", + assignee_id="None", + all=True, + ) ) - for merge_request in chain(mr_with_to_review_tag, mr_with_no_tags): + shuffle(merge_requests) + + for merge_request in merge_requests: project = self.cnx.projects.get(merge_request.project_id) if CLIENT_PROJECT_TAG in project.tag_list: # it's a client project. Let's assume that someone will take