Python Jira Rest Api 代码生成无效字符串
Posted
技术标签:
【中文标题】Python Jira Rest Api 代码生成无效字符串【英文标题】:Python Jira Rest Api code generates invalid string 【发布时间】:2021-10-20 09:00:33 【问题描述】:我正在尝试使用 Python 连接到 Jira Rest Api 并尝试将数据保存到文本文件中,但是我收到了作为响应返回的巨大字符串,这似乎是无效字符串,并且还包含 html 标签。
我正在尝试使用 Api 令牌、projectkey 和 url 连接 Jira。我还需要提供用户、密码验证吗?
下面是我的代码:
import base64
import os
from jira import JIRA
import sys
import requests
import json
import shutil
os.environ["HTTPS_PROXY"] = "XXXX"
# Base encode email and api token
cred = "Basic " + base64.b64encode(b'XXX@bk.de:XXXX').decode("utf-8")
# Set header parameters
headers =
"Accept": "application/json",
"Content-Type": "application/json",
"Authorization" : cred
# Enter your project key here
projectKey = "TEST"
# Update your site url
url = "https://jira-test.net/secure/RapidBoard.jspa?rapidView=194&projectKey=" + projectKey
# Send request and get response
response = requests.request(
"GET",
url,
headers=headers
)
# Decode Json string to Python
json_data = json.loads(response.text)
# Display issues
for item in json_data["issues"]:
print(item["id"] + "\t" + item["key"] + "\t" +
item["fields"]["issuetype"]["name"] + "\t" +
item["fields"]["created"]+ "\t" +
item["fields"]["creator"]["displayName"] + "\t" +
item["fields"]["status"]["name"] + "\t" +
item["fields"]["summary"] + "\t"
)
【问题讨论】:
在json.loads
之前添加print(response.text)
,看看你的JSON响应是否有效
我已经添加了,我得到了一个看起来像错误的巨大字符串,但它也是带有 html 标签的数据......我什么都不懂
我想我会编辑我的问题,问题在于代码...
首先需要检查的是response.status_code
【参考方案1】:
根据您的评论,Jira API 正在返回一些 HTML 代码,这意味着您的响应中可能有错误。
您需要检查是否从 API 收到 200 响应。
替换
# Decode Json string to Python
json_data = json.loads(response.text)
通过
# Check for API errors
response.raise_for_status()
# Decode Json string to Python
json_data = response.json()
【讨论】:
再次生成同样巨大的无效响应,但在行尾我可以看到:requests.exceptions.HTTPError: 401 Client Error: Unauthorized for url: 您现在可以删除print(response.text)
。 401错误表示您的网址不正确,尝试添加print(url)
并在浏览器中手动访问。
是的 url 链接是正确的,我尝试在浏览器中打开...一个问题 url 指向 Jira 中的看板是正确的吗?看起来像身份验证问题...我正在尝试使用 Api 令牌连接 Jira
我对 Jira API 一无所知,请尝试查找他们的文档。以上是关于Python Jira Rest Api 代码生成无效字符串的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 java rest api 在 jira 中创建问题
使用 jira 中的 REST api 修改自定义字段名称后,CustomFieldManager 未获取自定义字段