16
16
_AUTO_ASK_FOR_CHECK = 'auto-ask-check'
17
17
_BRANCH_ATTENTION = 'base-branch-attention'
18
18
_7_DAY_ATTENTION = '7days attention'
19
+ _MultiAPI = 'MultiAPI'
19
20
# record published issues
20
21
_FILE_OUT = 'published_issues_python.csv'
21
22
@@ -29,6 +30,7 @@ def __init__(self, issue_package: IssuePackage, request_repo_dict: Dict[str, Rep
29
30
self .is_multiapi = False
30
31
self .pattern_resource_manager = re .compile (r'/specification/([\w-]+/)+resource-manager' )
31
32
self .delay_time = self .get_delay_time ()
33
+ self .is_specified_tag = False
32
34
33
35
def get_delay_time (self ):
34
36
q = [comment .updated_at
@@ -41,10 +43,18 @@ def init_readme_link(self) -> None:
41
43
42
44
# Get the origin link and readme tag in issue body
43
45
origin_link , self .target_readme_tag = get_origin_link_and_tag (issue_body_list )
46
+ self .is_specified_tag = any ('->Readme Tag:' in line for line in issue_body_list )
44
47
45
48
# get readme_link
46
49
self .get_readme_link (origin_link )
47
50
51
+ def multi_api_policy (self ) -> None :
52
+ if self .is_multiapi :
53
+ if _AUTO_ASK_FOR_CHECK not in self .issue_package .labels_name :
54
+ self .bot_advice .append (_MultiAPI )
55
+ if _MultiAPI not in self .issue_package .labels_name :
56
+ self .add_label (_MultiAPI )
57
+
48
58
def get_package_and_output (self ) -> None :
49
59
self .init_readme_link ()
50
60
readme_python_path = self .pattern_resource_manager .search (self .readme_link ).group () + '/readme.python.md'
@@ -53,10 +63,11 @@ def get_package_and_output(self) -> None:
53
63
pattern_output = re .compile (r'\$\(python-sdks-folder\)/(.*?)/azure-' )
54
64
self .package_name = pattern_package .search (contents ).group ().split (':' )[- 1 ].strip ()
55
65
self .output_folder = pattern_output .search (contents ).group ().split ('/' )[1 ]
56
- self .is_multiapi = ('MultiAPI' in self .issue_package .labels_name ) or ('multi-api' in contents )
66
+ self .is_multiapi = (_MultiAPI in self .issue_package .labels_name ) or ('multi-api' in contents )
57
67
58
68
def get_edit_content (self ) -> None :
59
- self .edit_content = f'\n { self .readme_link .replace ("/readme.md" , "" )} \n { self .package_name } '
69
+ self .edit_content = f'\n { self .readme_link .replace ("/readme.md" , "" )} \n { self .package_name } ' \
70
+ f'\n Readme Tag: { self .target_readme_tag } '
60
71
61
72
@property
62
73
def readme_comparison (self ) -> bool :
@@ -79,9 +90,11 @@ def auto_reply(self) -> None:
79
90
if not self .readme_comparison :
80
91
issue_link = self .issue_package .issue .html_url
81
92
release_pipeline_url = get_python_release_pipeline (self .output_folder )
93
+ python_tag = self .target_readme_tag if self .is_specified_tag else ""
82
94
res_run = run_pipeline (issue_link = issue_link ,
83
95
pipeline_url = release_pipeline_url ,
84
- spec_readme = self .readme_link + '/readme.md'
96
+ spec_readme = self .readme_link + '/readme.md' ,
97
+ python_tag = python_tag
85
98
)
86
99
if res_run :
87
100
self .log (f'{ issue_number } run pipeline successfully' )
@@ -111,9 +124,11 @@ def remind_policy(self):
111
124
112
125
def auto_bot_advice (self ):
113
126
super ().auto_bot_advice ()
127
+ self .multi_api_policy ()
114
128
self .attention_policy ()
115
129
self .remind_policy ()
116
130
131
+
117
132
def auto_close (self ) -> None :
118
133
if AUTO_CLOSE_LABEL in self .issue_package .labels_name :
119
134
return
0 commit comments