Skip to content

Commit 534a853

Browse files
committed
use sdv enterprise list
1 parent 9131d08 commit 534a853

File tree

1 file changed

+25
-1
lines changed

1 file changed

+25
-1
lines changed

scripts/release_notes_generator.py

+25-1
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,14 @@
2323
'feature request',
2424
'customer success',
2525
]
26+
ISSUE_LABELS_ORDERED_BY_IMPORTANCE = [
27+
'feature request',
28+
'customer success',
29+
'bug',
30+
'documentation',
31+
'internal',
32+
'maintenance',
33+
]
2634
NEW_LINE = '\n'
2735
GITHUB_URL = 'https://api.github.com/repos/sdv-dev/sdmetrics'
2836
GITHUB_TOKEN = os.getenv('GH_ACCESS_TOKEN')
@@ -36,10 +44,12 @@ def _get_milestone_number(milestone_title):
3644
body = response.json()
3745
if response.status_code != 200:
3846
raise Exception(str(body))
47+
3948
milestones = body
4049
for milestone in milestones:
4150
if milestone.get('title') == milestone_title:
4251
return milestone.get('number')
52+
4353
raise ValueError(f'Milestone {milestone_title} not found in past 100 milestones.')
4454

4555

@@ -57,16 +67,22 @@ def _get_issues_by_milestone(milestone):
5767
body = response.json()
5868
if response.status_code != 200:
5969
raise Exception(str(body))
70+
6071
issues_on_page = body
6172
if not issues_on_page:
6273
break
74+
75+
# Filter our PRs
76+
issues_on_page = [issue for issue in issues_on_page if issue.get('pull_request') is None]
6377
issues.extend(issues_on_page)
6478
page += 1
79+
6580
return issues
6681

6782

6883
def _get_issues_by_category(release_issues):
6984
category_to_issues = defaultdict(list)
85+
7086
for issue in release_issues:
7187
issue_title = issue['title']
7288
issue_number = issue['number']
@@ -76,6 +92,7 @@ def _get_issues_by_category(release_issues):
7692
if assignee:
7793
login = assignee['login']
7894
line += f' by @{login}'
95+
7996
# Check if any known label is marked on the issue
8097
labels = [label['name'] for label in issue['labels']]
8198
found_category = False
@@ -84,22 +101,27 @@ def _get_issues_by_category(release_issues):
84101
category_to_issues[category].append(line)
85102
found_category = True
86103
break
104+
87105
if not found_category:
88106
category_to_issues['misc'].append(line)
107+
89108
return category_to_issues
90109

91110

92111
def _create_release_notes(issues_by_category, version, date):
93112
title = f'## v{version} - {date}'
94113
release_notes = f'{title}{NEW_LINE}{NEW_LINE}'
95-
for category in ISSUE_LABELS + ['misc']:
114+
115+
for category in ISSUE_LABELS_ORDERED_BY_IMPORTANCE + ['misc']:
96116
issues = issues_by_category.get(category)
97117
if issues:
98118
section_text = (
99119
f'### {LABEL_TO_HEADER[category]}{NEW_LINE}{NEW_LINE}'
100120
f'{NEW_LINE.join(issues)}{NEW_LINE}{NEW_LINE}'
101121
)
122+
102123
release_notes += section_text
124+
103125
return release_notes
104126

105127

@@ -108,10 +130,12 @@ def update_release_notes(release_notes):
108130
file_path = 'HISTORY.md'
109131
with open(file_path, 'r') as history_file:
110132
history = history_file.read()
133+
111134
token = '# HISTORY\n\n'
112135
split_index = history.find(token) + len(token) + 1
113136
header = history[:split_index]
114137
new_notes = f'{header}{release_notes}{history[split_index:]}'
138+
115139
with open(file_path, 'w') as new_history_file:
116140
new_history_file.write(new_notes)
117141

0 commit comments

Comments
 (0)