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

使用Python JIRA库登录企业JIRA服务器遇404及JIRA对象创建咨询

问题1:404错误的原因
  • 最可能的原因是公司内部JIRA服务器配置了上下文路径(比如实际访问路径为https://abc/jira),但你在options中仅填写了https://abc,导致JIRA库自动拼接的/api/2/serverInfo路径无效,实际应请求https://abc/[上下文路径]/api/2/serverInfo,从而触发404。
  • 其次可能是公司JIRA版本较旧,默认API路径为/api/latest/serverInfo而非/api/2/serverInfo,或者管理员禁用了/api/2/serverInfo这个基础端点。
问题2:复用已登录会话创建JIRA对象

如果你已经通过requests完成登录并获得有效会话,可通过以下两种方式复用会话创建JIRA库的对象:

方法1:传入已认证的requests.Session对象

import requests
from jira import JIRA

# 你的requests登录逻辑(示例)
session = requests.Session()
# 若为账号密码登录
session.post("https://abc/[登录接口路径]", data={"username": "你的账号", "password": "你的密码"}, verify=False)
# 若为令牌登录,可直接设置请求头
# session.headers.update({"Authorization": "Bearer 你的令牌"})

# 构造JIRA对象时传入该会话
options = {'server': 'https://abc', 'verify': False}
jira = JIRA(options, session=session)

方法2:手动设置认证头

如果已拿到有效认证凭证(如JSESSIONID或Bearer令牌),可直接给JIRA库的底层会话添加请求头:

from jira import JIRA

options = {'server': 'https://abc', 'verify': False}
jira = JIRA(options)
# 根据实际认证方式设置请求头
jira._session.headers.update({
    # Cookie认证示例
    "Cookie": "JSESSIONID=你的会话ID",
    # 或Bearer令牌认证示例
    # "Authorization": "Bearer 你的令牌"
})

注意:若公司JIRA有上下文路径,需在options的server参数中填写完整路径,比如https://abc/jira。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 14:28:12