fsfw/scripts/check_release.py

44 lines
1.3 KiB
Python

import argparse
import json
import urllib.request
import re
def main() -> None:
parser = argparse.ArgumentParser(
description="List undocumented PRs"
)
parser.add_argument("-m", "--milestone", type=int, required=True)
args = parser.parse_args()
milestone = args.milestone
with urllib.request.urlopen("https://egit.irs.uni-stuttgart.de/api/v1/repos/fsfw/fsfw/milestones/" + str(milestone)) as milestone_json:
milestone_title = json.load(milestone_json)['title']
match = re.search("(v[0-9]+\.[0-9]+\.[0-9]+)", milestone_title)
if not match:
print("invalid Milestone name")
exit(1)
version = match.group(0)
print("detected Version " + version)
milestone_prs = []
page = 1
last_count = 1;
while last_count != 0:
with urllib.request.urlopen("https://egit.irs.uni-stuttgart.de/api/v1/repos/fsfw/fsfw/pulls?state=closed&milestone=" + str(milestone) + "&limit=100&page=" + str(page)) as pull_requests_json:
pull_requests = json.load(pull_requests_json)
for pr in pull_requests:
milestone_prs.append(pr['number'])
page += 1
last_count = len(pull_requests)
print("Found " + str(len(milestone_prs)) + " closed PRs in Milestone")
main()