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

JIRA Server用Python调用API获取自定义字段ID如何添加身份凭证?

错误原因

  1. 你将curl命令直接传入requests.get()的第一个参数,该方法仅接受合法的HTTP URL作为地址参数,无法识别curl语法,因此抛出InvalidSchema报错。
  2. 你原本的代码存在缩进错误,response是函数内的局部变量,函数外直接调用response.json()会触发变量未定义的报错。
  3. JIRA Server的REST API需要身份验证,你最初的代码未携带凭证,只能拿到无需权限的公开系统字段,看不到私有自定义字段。

正确实现代码

import requests

# 请替换为实际的JIRA地址、用户名、登录凭证
JIRA_BASE_URL = "https://你的JIRA服务地址"
JIRA_USER = "你的登录用户名"
# 密码建议通过环境变量、加密配置文件读取,不要硬编码在代码中
JIRA_PASS = "你的登录密码/API Token"

def get_custom_fields():
    response = requests.get(
        url=f"{JIRA_BASE_URL}/rest/api/2/field",
        # requests原生支持基础身份验证,直接通过auth参数传入账号密码即可
        auth=(JIRA_USER, JIRA_PASS),
        headers={"Content-Type": "application/json"},
        # 若你的JIRA使用自签名SSL证书,可临时添加下方参数跳过校验,生产环境不建议使用
        # verify=False
    )
    # 先判断请求状态,避免后续解析报错
    if response.status_code != 200:
        print(f"请求失败,状态码:{response.status_code},返回信息:{response.text}")
        return
    field_list = response.json()
    for field in field_list:
        print(f"Field Name : {field['name']} Field Id : {field['id']}")

if __name__ == "__main__":
    get_custom_fields()

注意事项

  • 高版本JIRA Server支持使用API Token替代密码登录,安全性更高
  • 若返回结果中仍然缺少你需要的自定义字段,请确认当前登录账号拥有该自定义字段的查看权限
  • 不要在可公开访问的代码中硬编码账号密码等敏感信息

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 16:45:02