diff --git a/.ci/get_workflow_status.py b/.ci/get_workflow_status.py index 0572197c1ec2..34a910f0079f 100644 --- a/.ci/get_workflow_status.py +++ b/.ci/get_workflow_status.py @@ -33,15 +33,26 @@ def get_runs(trigger_phrase): pr_runs = [] if environ.get("GITHUB_EVENT_NAME", "") == "pull_request": pr_number = int(environ.get("GITHUB_REF").split('/')[-2]) - req = request.Request(url="{}/repos/microsoft/LightGBM/issues/{}/comments".format(environ.get("GITHUB_API_URL"), - pr_number), - headers={"Accept": "application/vnd.github.v3+json"}) - url = request.urlopen(req) - data = json.loads(url.read().decode('utf-8')) - url.close() - pr_runs = [i for i in data - if i['author_association'].lower() in {'owner', 'member', 'collaborator'} - and i['body'].startswith('/gha run {}'.format(trigger_phrase))] + page = 1 + while True: + req = request.Request( + url="{}/repos/microsoft/LightGBM/issues/{}/comments?page={}&per_page=100".format( + environ.get("GITHUB_API_URL"), + pr_number, + page + ), + headers={"Accept": "application/vnd.github.v3+json"} + ) + url = request.urlopen(req) + data = json.loads(url.read().decode('utf-8')) + url.close() + if not data: + break + runs_on_page = [i for i in data + if i['author_association'].lower() in {'owner', 'member', 'collaborator'} + and i['body'].startswith('/gha run {}'.format(trigger_phrase))] + pr_runs.extend(runs_on_page) + page += 1 return pr_runs[::-1]