@@ -920,6 +920,18 @@ def gather_insights(repo, insights, since):
920
920
else :
921
921
insights ["open_issues" ].append (issue ["html_url" ])
922
922
923
+ # get milestones for core repo
924
+ if repo ["name" ] == "circuitpython" :
925
+ params = {"state" : "open" }
926
+ response = github .get ("/repos/adafruit/circuitpython/milestones" , params = params )
927
+ if not response .ok :
928
+ output_handler ("Failed to get core milestone insights." )
929
+ else :
930
+ milestones = response .json ()
931
+ for milestone in milestones :
932
+ #print(milestone)
933
+ insights ["milestones" ][milestone ["title" ]] = milestone ["open_issues" ]
934
+
923
935
def repo_is_on_pypi (repo ):
924
936
"""returns True when the provided repository is in pypi"""
925
937
is_on = False
@@ -979,6 +991,7 @@ def run_library_checks():
979
991
core_insights [k ] = set ()
980
992
if isinstance (core_insights [k ], list ):
981
993
core_insights [k ] = []
994
+ core_insights ["milestones" ] = dict ()
982
995
repo_needs_work = []
983
996
since = datetime .datetime .now () - datetime .timedelta (days = 7 )
984
997
repos_by_error = {}
@@ -1021,6 +1034,12 @@ def run_library_checks():
1021
1034
print_issue_overview (core_insights )
1022
1035
output_handler ("* {} open issues" .format (len (core_insights ["open_issues" ])))
1023
1036
output_handler (" * https://github.com/adafruit/circuitpython/issues" )
1037
+ output_handler ("* {} active milestones" .format (len (core_insights ["milestones" ])))
1038
+ ms_count = 0
1039
+ for milestone in sorted (core_insights ["milestones" ].keys ()):
1040
+ ms_count += core_insights ["milestones" ][milestone ]
1041
+ output_handler (" * {0}: {1} open issues" .format (milestone , core_insights ["milestones" ][milestone ]))
1042
+ output_handler (" * {} issues not assigned a milestone" .format (len (core_insights ["open_issues" ]) - ms_count ))
1024
1043
output_handler ()
1025
1044
print_circuitpython_download_stats ()
1026
1045
0 commit comments