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

Databricks中Python连接Atlassian Jira超时,Postman可正常连接求解决方案

Databricks环境下Python连接Jira超时问题解决(Postman可正常连接)

问题描述

在Databricks环境中使用Python连接Atlassian Jira时遇到连接超时问题,但相同的登录凭证在Postman(Basic Auth)中可以成功连接,求可行的解决思路。

已尝试的方法

基础配置代码

jira_url="https://cloud_name_here.atlassian.net/rest/api/3/project"
jira_email="xxxxx@xxx.com"
jira_token="AYJDxxxxxUFD"

1. 使用jira库

from jira import JIRA
jc = JIRA(options={'server': jira_url}, basic_auth=(jira_email, jira_token))   ## 此处超时
projects = jc.projects()
for p in projects: print(p)

2. 使用atlassian-python-api库

from atlassian import Jira
jira = Jira(url=jira_url, username=jira_email, password=jira_token, cloud=True)
projects = jira.get_all_projects()   ## 此处超时

3. 直接发送HTTP请求

import base64
import json
import requests
from requests.auth import HTTPBasicAuth

auth = HTTPBasicAuth(jira_email, jira_token)
headers = {"Accept": "application/json","Content-Type": "application/json"}
response = requests.request("GET", jira_url, headers=headers, auth=auth)   ## 此处超时
print(json.dumps(json.loads(response.text), sort_keys=True, indent=4, separators=(",", ": ")))

可行解决方案

1. 配置网络代理

Databricks集群通常处于受限网络环境,需配置代理才能访问外部服务:

  • 集群初始化脚本添加代理变量:
    export HTTP_PROXY=http://你的代理地址:端口
    export HTTPS_PROXY=http://你的代理地址:端口
    export NO_PROXY=databricks.internal,service.databricks.com
    
  • 代码中指定代理:
    requests库:
    proxies = {
      "http": "http://你的代理地址:端口",
      "https": "http://你的代理地址:端口",
    }
    response = requests.request("GET", jira_url, headers=headers, auth=auth, proxies=proxies)
    
    jira库:
    jc = JIRA(
        options={
            'server': jira_url,
            'proxies': {
                'http': 'http://你的代理地址:端口',
                'https': 'http://你的代理地址:端口'
            }
        },
        basic_auth=(jira_email, jira_token)
    )
    

2. 延长超时时间

默认超时阈值可能过短,尝试调整超时参数:

  • requests库:
    response = requests.request("GET", jira_url, headers=headers, auth=auth, timeout=30)  # 设置30秒超时
    
  • jira库:
    jc = JIRA(
        options={
            'server': jira_url,
            'timeout': 30
        },
        basic_auth=(jira_email, jira_token)
    )
    
  • atlassian-python-api库:
    jira = Jira(
        url=jira_url,
        username=jira_email,
        password=jira_token,
        cloud=True,
        timeout=30
    )
    

3. 验证出站网络权限

联系Databricks管理员确认集群网络是否允许访问*.atlassian.net(443端口),可在集群中执行网络测试:

curl -v https://cloud_name_here.atlassian.net/rest/api/3/project -u "xxxxx@xxx.com:AYJDxxxxxUFD"

若curl也超时,需管理员开放出站规则。

4. 修正Jira API端点

确保jira_url使用Jira实例根地址,而非具体API路径:

# 错误写法
jira_url="https://cloud_name_here.atlassian.net/rest/api/3/project"
# 正确写法
jira_url="https://cloud_name_here.atlassian.net"

错误的端点会导致库内部请求路径异常,引发超时。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 13:34:54