Skip to content

Commit 59709af

Browse files
RAY-316BigCat20196msyyc
authored
update release issue status (Azure#21489)
* release_iseus_status_auto_reply * issue_aoto_close_revert * Update main.py * Update main.py * Update update_issue_body.py * Update reply_generator.py * Update reply_generator.py * Update update_issue_body.py * Update main.py * Update update_issue_body.py * Update update_issue_body.py * Update main.py * Update reply_generator.py * Update main.py * Update update_issue_body.py * Update main.py * Update scripts/release_issue_status/update_issue_body.py * Update update_issue_body.py * Update main.py * Update reply_generator.py * Update update_issue_body.py * Update main.py * Update scripts/release_issue_status/main.py * Update main.py * Update scripts/release_issue_status/main.py * Update scripts/release_issue_status/main.py * Update scripts/release_issue_status/main.py * Update scripts/release_issue_status/update_issue_body.py * Update scripts/release_issue_status/main.py * Update scripts/release_issue_status/update_issue_body.py * Update reply_generator.py * Update main.py * Update scripts/release_issue_status/update_issue_body.py Co-authored-by: msyyc <70930885+msyyc@users.noreply.github.com> * Update scripts/release_issue_status/update_issue_body.py Co-authored-by: msyyc <70930885+msyyc@users.noreply.github.com> * Update reply_generator.py * Update update_issue_body.py * Update main.py * Update main.py * Update update_issue_body.py * Update main.py * Update scripts/release_issue_status/main.py * Update main.py * Update reply_generator.py * Update main.py * Update main.py * Update main.py * Update main.py * Update main.py * Update main.py * Update main.py * Update main.py * Update main.py * Update update_issue_body.py * Update main.py * Update update_issue_body.py * Update reply_generator.py * Update update_issue_body.py * Update main.py * Update update_issue_body.py * Update update_issue_body.py * Update update_issue_body.py * Update update_issue_body.py * Update update_issue_body.py * Update main.py * Update main.py * Update release_issue_status.yml for Azure Pipelines * Update main.py * Update reply_generator.py * Add files via upload * Update reply_generator.py * Update update_issue_body.py * Update reply_generator.py * Update auto_pipeline_run.py * Update auto_pipeline_run.py * add auto-close * Update release_issue_status.yml for Azure Pipelines * Update auto_close.py * Update main.py * Update release_issue_status.yml for Azure Pipelines * Update auto_pipeline_run.py * fix bug * Update main.py * Update auto_close.py * Update auto_close.py * Update main.py * Update reply_generator.py * Update main.py * Update main.py * Update auto_close.py * Update main.py * Update auto-close * Update auto_pipeline_run.py * Update update_issue_body.py * Update auto_pipeline_run.py * Update release_issue_status.yml for Azure Pipelines * Update auto_pipeline_run.py * Update release_issue_status.yml for Azure Pipelines * Update auto_pipeline_run.py * Update auto_pipeline_run.py * Add pipeline link * Update pipeline link * Update auto_pipeline_run.py * Update release_issue_status.yml for Azure Pipelines * Update auto_pipeline_run.py * Update requirement.txt * Update auto_pipeline_run.py * Add get_python_pipeline * Update auto_pipeline_run.py * test * test * add outputfolder * add label * Update main.py * Update get_python_pipeline.py * Update main.py * Update auto_pipeline_run.py * Add utils * Update main.py * Update main.py * Delete old py * Update reply_generator.py * Update main.py * Update main.py * Update main.py * Update main.py * Update main.py * Update utils.py * Update utils.py * Update main.py * Update main.py * Update reply_generator.py * Update utils.py * Add get_changelog function * Update utils.py * Update reply_generator.py * Update main.py * Update reply_generator.py * Update function * del useless code * Update utils.py * Update main.py * Update reply_generator.py * Update main.py * Update utils.py * Update utils.py * Update utils.py * Update utils.py * Update reply_generator.py * Update main.py * Update main.py * Update main.py * Update release_issue_status.yml for Azure Pipelines * Update main.py * Update release_issue_status.yml for Azure Pipelines * Update release_issue_status.yml for Azure Pipelines * Update main.py * Update utils.py * Update auto-close * Update release_issue_status.yml for Azure Pipelines * Update utils.py * Update utils.py * Fix auto-close bug * Update utils.py * Update utils.py * Update utils.py * Update utils.py * Update utils.py * Update release_issue_status.yml for Azure Pipelines * Add assign * Update reply_generator.py * Update reply_generator.py * Update assignee * Update assignee * Update main.py * Update main.py * Update main.py * update md * update md * update md * update md * update md * update md Co-authored-by: Jiefeng Chen <51037443+BigCat20196@users.noreply.github.com> Co-authored-by: msyyc <70930885+msyyc@users.noreply.github.com> Co-authored-by: BigCat20196 <1095260342@qq.com> Co-authored-by: Yuchao Yan <yuchaoyan@microsoft.com>
1 parent 4786890 commit 59709af

File tree

1 file changed

+26
-9
lines changed
  • scripts/release_issue_status

1 file changed

+26
-9
lines changed

scripts/release_issue_status/main.py

Lines changed: 26 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -34,11 +34,11 @@ def print_check(cmd):
3434

3535
def output_python_md(issue_status_python):
3636
with open(_FILE_OUT_PYTHON, 'w') as file_out:
37-
file_out.write('| issue | author | package | assignee | bot advice | created date of issue | delay from created date |\n')
38-
file_out.write('| ------ | ------ | ------ | ------ | ------ | ------ | :-----: |\n')
37+
file_out.write(
38+
'| issue | author | package | assignee | bot advice | created date of issue | target release date | date from target |\n')
39+
file_out.write('| ------ | ------ | ------ | ------ | ------ | ------ | ------ | :-----: |\n')
3940
file_out.writelines([item.output_python() for item in sorted(issue_status_python, key=_key_select)])
4041

41-
4242
def output_csv(issue_status):
4343
with open(_FILE_OUT, 'w') as file_out:
4444
file_out.write('language,issue,author,package,created date,delay from created date,latest update time,'
@@ -63,6 +63,8 @@ class IssueStatus:
6363
issue_object = _NULL
6464
labels = _NULL
6565
assignee = _NULL
66+
target_date = _NULL
67+
days_from_target = _NULL
6668

6769
def output(self):
6870
return '{},{},{},{},{},{},{},{},{},{}\n'.format(self.language, self.link, self.author,
@@ -75,10 +77,20 @@ def output(self):
7577

7678

7779
def output_python(self):
78-
return '| [#{}]({}) | {} | {} | {} | {} | {} | {} |\n'.format(self.link.split('/')[-1], self.link, self.author,
79-
self.package, self.assignee, self.bot_advice,
80-
str(date.fromtimestamp(self.create_date)),
81-
self.delay_from_create_date)
80+
package = self.package.split('-')[-1]
81+
create_date = str(date.fromtimestamp(self.create_date).strftime('%m-%d'))
82+
target_date = str(datetime.strptime(self.target_date, "%Y-%m-%d").strftime('%m-%d'))
83+
if abs(self.days_from_target) < 3:
84+
days_from_target = str(self.days_from_target)
85+
else:
86+
days_from_target = ' '
87+
88+
return '| [#{}]({}) | {} | {} | {} | {} | {} | {} | {} |\n'.format(self.link.split('/')[-1], self.link, self.author,
89+
package, self.assignee, self.bot_advice,
90+
create_date,
91+
target_date,
92+
days_from_target
93+
)
8294

8395

8496
def _extract(str_list, key_word):
@@ -195,6 +207,8 @@ def main():
195207
issue.link = f'https://github.com/Azure/sdk-release-request/issues/{item.number}'
196208
issue.author = item.user.login
197209
issue.package = _extract(item.body.split('\n'), 'azure-.*')
210+
issue.target_date = [x.split(':')[-1].strip() for x in item.body.split('\n') if 'Target release date' in x][0]
211+
issue.days_from_target = int((time.mktime(time.strptime(issue.target_date, '%Y-%m-%d')) - time.time())/3600/24)
198212
issue.create_date = item.created_at.timestamp()
199213
issue.delay_from_create_date = int((time.time() - item.created_at.timestamp()) / 3600 / 24)
200214
issue.latest_update = item.updated_at.timestamp()
@@ -244,7 +258,7 @@ def main():
244258
elif not item.author_latest_comment in _PYTHON_SDK_ADMINISTRATORS:
245259
item.bot_advice = 'new comment for author.'
246260
elif item.delay_from_latest_update >= 7:
247-
item.bot_advice = 'delay for a long time and better to handle now.'
261+
item.bot_advice = 'delay for a long time '
248262
if item.comment_num > 1 and item.language == 'Python':
249263
try:
250264
auto_close_issue(request_repo, item)
@@ -254,6 +268,9 @@ def main():
254268

255269
if 'base-branch-attention' in item.labels:
256270
item.bot_advice = 'new version is 0.0.0, please check base branch! ' + item.bot_advice
271+
272+
if abs(item.days_from_target) < 3:
273+
item.bot_advice += ' release date < 2 ! <br>'
257274

258275
if item.days_from_latest_commit >= 30 and item.language == 'Python' and '30days attention' not in item.labels:
259276
item.issue_object.add_to_labels('30days attention')
@@ -266,7 +283,7 @@ def main():
266283

267284
# judge whether there is duplicated issue for same package
268285
if item.package != _NULL and duplicated_issue.get((item.language, item.package)) > 1:
269-
item.bot_advice = f'Warning:There is duplicated issue for {item.package}. ' + item.bot_advice
286+
item.bot_advice = f'duplicated issue for {item.package}. ' + item.bot_advice
270287

271288
# output result
272289
output_python_md(issue_status_python)

0 commit comments

Comments
 (0)