Python脚本获取Jira工单状态时缺失不存在工单ID的问题排查
问题:批量获取Jira工单状态时不存在的工单ID丢失
问题现象
输入的工单列表(xlsx文件):
- ER-8401
- CORE-7981
- KOKO:1223
- FOFO:1223
当前错误输出:
ER-8401,Closed
CORE-7981,Submitted
CORE-7981:Does Not Exist
CORE-7981:Does Not Exist
期望输出:
ER-8401,Closed
CORE-7981,Submitted
KOKO:1223:Does Not Exist
FOFO:1223:Does Not Exist
问题原因
异常处理块中调用str(issue)输出工单ID,但当jira.issue()查询失败抛出异常时,issue变量并未被当前循环的工单ID赋值,而是保留了上一次循环的有效值,导致错误复用了之前的工单ID。
修正后的代码
from jira.client import JIRA import openpyxl jira_server = {'server': jira_server} jira = JIRA(options=jira_server, basic_auth=(jira_user, jira_password)) wb = openpyxl.load_workbook('issues_status.xlsx') ws = wb['Sheet1'] with open('output.txt', 'w') as f: for row in ws.iter_rows(): issue_id = row[0].value # 提前保存当前工单ID try: issue = jira.issue(issue_id) status = issue.fields.status f.write(f"{issue_id},{status}\n") except: f.write(f"{issue_id}:Does Not Exist\n")
说明
- 提前将当前行的工单ID存入
issue_id变量,无论查询成功或失败都能直接使用这个原始ID - 使用f-string简化字符串拼接,代码更简洁易读
内容的提问来源于stack exchange,提问作者shco
相关产品推荐
相关产品推荐

