You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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")

说明

  1. 提前将当前行的工单ID存入issue_id变量,无论查询成功或失败都能直接使用这个原始ID
  2. 使用f-string简化字符串拼接,代码更简洁易读

内容的提问来源于stack exchange,提问作者shco

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 21:57:41