44 lines
1.3 KiB
Python
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()
|