Skip to content

Commit 2bd3636

Browse files
authored
[jira] Fix 'issue_exists'/'issue_deleted' (#445)
Signed-off-by: weiyang <[email protected]>
1 parent 40f8e40 commit 2bd3636

File tree

1 file changed

+15
-13
lines changed

1 file changed

+15
-13
lines changed

atlassian/jira.py

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -904,26 +904,28 @@ def remove_user_from_group(self, username, group_name):
904904
return self.delete(url, params=params)
905905

906906
def issue_exists(self, issue_key):
907+
original_value = self.advanced_mode
908+
self.advanced_mode = True
907909
try:
908-
self.issue(issue_key, fields='*none')
910+
resp = self.issue(issue_key, fields="*none")
911+
if resp.status_code == 404:
912+
log.info(
913+
'Issue "{issue_key}" does not exists'.format(issue_key=issue_key)
914+
)
915+
return False
916+
resp.raise_for_status()
909917
log.info('Issue "{issue_key}" exists'.format(issue_key=issue_key))
910918
return True
911-
except HTTPError as e:
912-
if e.response.status_code == 404:
913-
log.info('Issue "{issue_key}" does not exists'.format(issue_key=issue_key))
914-
return False
915-
else:
916-
log.info('Issue "{issue_key}" existed, but now it\'s deleted'.format(issue_key=issue_key))
917-
return True
919+
finally:
920+
self.advanced_mode = original_value
918921

919922
def issue_deleted(self, issue_key):
920-
try:
921-
self.issue(issue_key, fields='*none')
923+
exists = self.issue_exists(issue_key)
924+
if exists:
922925
log.info('Issue "{issue_key}" is not deleted'.format(issue_key=issue_key))
923-
return False
924-
except HTTPError:
926+
else:
925927
log.info('Issue "{issue_key}" is deleted'.format(issue_key=issue_key))
926-
return True
928+
return not exists
927929

928930
def delete_issue(self, issue_id_or_key, delete_subtasks=True):
929931
"""

0 commit comments

Comments
 (0)