@@ -56,7 +56,7 @@ def get_github_prs(token: str, owner: str, repo: str, label: str = "", state: st
5656
5757
5858def 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
6060) -> list [dict ]:
6161 """
6262 Returns a list of pull requests after applying the label and state filters.
@@ -65,7 +65,8 @@ def get_prs(
6565 pull_request_items (list[dict]): List of PR items.
6666 label (str): The label name. Filter is not applied when empty string.
6767 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.
6970
7071 Returns:
7172 list: A list of dictionaries, where each dictionary represents a pull request.
@@ -80,15 +81,15 @@ def get_prs(
8081 if label and not [item for item in pr ["labels" ] if item ["name" ] == label ]:
8182 continue
8283
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 :
8586 continue
8687
8788 pr_list .append (pr )
8889 count += 1
8990
9091 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" } "
9293 )
9394
9495 return pr_list
@@ -209,16 +210,19 @@ def update_pull_request_description(token: str, owner: str, repo: str, pr_number
209210
210211 print (f"Found release PR: { release_pr [0 ]['title' ]} " )
211212
212- release_milestone_number = release_pr [0 ].get ("milestone" , {}).get ("number " , None )
213+ release_milestone_title = release_pr [0 ].get ("milestone" , {}).get ("title " , None )
213214
214- if not release_milestone_number :
215+ if not release_milestone_title :
215216 print ("Release PR does not have a milestone assigned." )
216217 exit (1 )
217218
218- print (f"Using milestone number: { release_milestone_number } " )
219+ print (f"Using milestone number: { release_milestone_title } " )
219220
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" )
222226
223227 description_content = "# Release notes\n "
224228 description_content += f"## Features\n { get_pr_descriptions (enhancement_prs )} " if enhancement_prs else ""
0 commit comments