@@ -131,16 +131,20 @@ jobs:
131
131
curMajor += 1
132
132
133
133
for fixVersion in fixVersions:
134
- alreadyHasFixVersion = False
135
- versions = jira.get_project_versions(projectName)
136
- for v in versions:
137
- if v['name'] == fixVersion:
138
- alreadyHasFixVersion = True
139
-
140
- if not alreadyHasFixVersion:
141
- project = jira.get_project(projectName)
142
- projectId = project['id']
143
- jira.add_version(projectName, projectId, fixVersion)
134
+ try:
135
+ alreadyHasFixVersion = False
136
+ versions = jira.get_project_versions(projectName)
137
+ for v in versions:
138
+ if v['name'] == fixVersion:
139
+ alreadyHasFixVersion = True
140
+
141
+ if not alreadyHasFixVersion:
142
+ project = jira.get_project(projectName)
143
+ projectId = project['id']
144
+ jira.add_version(projectName, projectId, fixVersion)
145
+ catch Exception as error:
146
+ print('Error: Unable to add fix version: ' + fixVersion + ' with: ' + str(error))
147
+ sys.exit(1)
144
148
145
149
return fixVersions
146
150
@@ -180,15 +184,21 @@ jobs:
180
184
result += "Error: Unable to find fix version: " + fixVersionName + "\n"
181
185
182
186
if len(versionsToAdd) > 0:
183
- jira.update_issue_field(issueName, {'fixVersions': updatedVersionList})
187
+ try:
188
+ jira.update_issue_field(issueName, {'fixVersions': updatedVersionList})
189
+ except Exception as error:
190
+ result += 'Error: Updating fix versions failed with: "' + str(error) + '\n'
184
191
else:
185
192
result += "Fix versions already added.\n"
186
193
187
194
statusName = str(issueFields['status']['name'])
188
195
if statusName != 'Resolved':
189
- transitionId = jira.get_transition_id_to_status_name(issue_name, 'Resolved')
190
- jira.set_issue_status_by_transition_id(issue_name, transitionId)
191
- result += "Workflow Transition: 'Resolve issue'\n"
196
+ try:
197
+ transitionId = jira.get_transition_id_to_status_name(issueName, 'Resolved')
198
+ jira.set_issue_status_by_transition_id(issueName, transitionId)
199
+ result += "Workflow Transition: 'Resolve issue'\n"
200
+ except Exception as error:
201
+ result += 'Error: Transitioning to: "Resolved" failed with: "' + str(error) + '\n'
192
202
193
203
return result
194
204
@@ -219,15 +229,14 @@ jobs:
219
229
220
230
result = 'Jirabot Action Result:\n'
221
231
222
- fixVersions = generateFixVersionList(jira, branch_name)
223
- result += resolveIssue(jira, issue, fixVersions)
232
+ fixVersions = generateFixVersionList(jira, project_name, branch_name)
233
+ result += resolveIssue(jira, project_name, issue, fixVersions)
224
234
jira.issue_add_comment(issue_name, result)
225
235
226
236
# Escape the result for JSON
227
237
result = json.dumps(result)
228
238
229
- curlCommand = 'curl -X POST %s -H "Content-Type: application/json" -H "Authorization: token %s" --data \'{ "body": %s }\'' % ( comments_url, github_token, result )
230
- os.system(curlCommand)
239
+ subprocess.run(['curl', '-X', 'POST', comments_url, '-H', 'Content-Type: application/json', '-H', f'Authorization: token {github_token}', '--data', f'{{ "body": {result} }}'], check=True)
231
240
else:
232
241
print('Unable to find Jira issue name in title')
233
242
0 commit comments