@@ -56,7 +56,7 @@ def get_github_prs(token: str, owner: str, repo: str, label: str = "", state: st
56
56
57
57
58
58
def get_prs (
59
- pull_request_items : list [dict ], label : str = "" , state : str = "all" , milestone_number : Optional [int ] = None
59
+ pull_request_items : list [dict ], label : str = "" , state : str = "all" , milestone_title : Optional [str ] = None
60
60
) -> list [dict ]:
61
61
"""
62
62
Returns a list of pull requests after applying the label and state filters.
@@ -65,7 +65,8 @@ def get_prs(
65
65
pull_request_items (list[dict]): List of PR items.
66
66
label (str): The label name. Filter is not applied when empty string.
67
67
state (str): State of PR, e.g. open, closed, all
68
- milestone_number (Optional[int]): The milestone number to filter by. If None, no milestone filtering is applied.
68
+ milestone_title (Optional[str]): The milestone title to filter by. This is the milestone number you created
69
+ in GitHub, e.g. '1.20.0'. If None, no milestone filtering is applied.
69
70
70
71
Returns:
71
72
list: A list of dictionaries, where each dictionary represents a pull request.
@@ -80,15 +81,15 @@ def get_prs(
80
81
if label and not [item for item in pr ["labels" ] if item ["name" ] == label ]:
81
82
continue
82
83
83
- if milestone_number :
84
- if not pr . get ( "milestone" ) or pr ["milestone" ]["number " ] != milestone_number :
84
+ if milestone_title :
85
+ if pr [ "milestone" ] is None or pr ["milestone" ]["title " ] != milestone_title :
85
86
continue
86
87
87
88
pr_list .append (pr )
88
89
count += 1
89
90
90
91
print (
91
- f"Found { count } PRs with { label if label else 'no filter on' } label, state as { state } , and milestone { pr . get ( ' milestone' , {}). get ( 'number' , ' None' ) } "
92
+ f"Found { count } PRs with { label if label else 'no filter on' } label, state as { state } , and milestone { pr [ " milestone" ] if pr [ "milestone" ] is not None else "None" } "
92
93
)
93
94
94
95
return pr_list
@@ -209,16 +210,19 @@ def update_pull_request_description(token: str, owner: str, repo: str, pr_number
209
210
210
211
print (f"Found release PR: { release_pr [0 ]['title' ]} " )
211
212
212
- release_milestone_number = release_pr [0 ].get ("milestone" , {}).get ("number " , None )
213
+ release_milestone_title = release_pr [0 ].get ("milestone" , {}).get ("title " , None )
213
214
214
- if not release_milestone_number :
215
+ if not release_milestone_title :
215
216
print ("Release PR does not have a milestone assigned." )
216
217
exit (1 )
217
218
218
- print (f"Using milestone number: { release_milestone_number } " )
219
+ print (f"Using milestone number: { release_milestone_title } " )
219
220
220
- enhancement_prs = get_prs (all_pull_requests , "enhancement" , "closed" , release_milestone_number )
221
- bug_fix_prs = get_prs (all_pull_requests , "bug" , "closed" , release_milestone_number )
221
+ enhancement_prs = get_prs (all_pull_requests , "enhancement" , "closed" , release_milestone_title )
222
+ bug_fix_prs = get_prs (all_pull_requests , "bug" , "closed" , release_milestone_title )
223
+
224
+ if len (enhancement_prs ) == 0 and len (bug_fix_prs ) == 0 :
225
+ print (f"No PRs with { release_milestone_title } milestone were found" )
222
226
223
227
description_content = "# Release notes\n "
224
228
description_content += f"## Features\n { get_pr_descriptions (enhancement_prs )} " if enhancement_prs else ""
0 commit comments