使用Python调用Jira API搜索问题遇401认证错误求助
Jira API搜索问题401认证错误排查与解决
一、认证方式的正确选择
- Jira云版本:必须使用API令牌替代密码。用户名填写你的Atlassian注册邮箱,密码字段填写在Atlassian账号安全设置中生成的API令牌(账号开启2FA时,绝对不能用实际密码)。
- Jira服务器/数据中心版本:若系统开启了API令牌支持,优先使用令牌;未开启则可使用账号实际密码,但推荐用令牌提升安全性。
二、API URL的正确性
- Jira云版本:URL格式为
https://<企业域名>.atlassian.net/rest/api/2/search,例如你的企业域名为company,则URL应为https://company.atlassian.net/rest/api/2/search,而非直接使用company.com。 - Jira服务器/数据中心版本:URL需匹配你的Jira部署域名,比如
https://jira.company.com/rest/api/2/search,需确认Jira的实际访问地址是否正确。
三、修正后的代码示例(云版本)
import requests from requests.auth import HTTPBasicAuth # 替换为你的Jira云域名 url = 'https://your-company.atlassian.net/rest/api/2/search' # 替换为你的注册邮箱和生成的API令牌 auth = HTTPBasicAuth("your-email@company.com", "your-api-token") headers = { 'Accept': 'application/json' } query = { 'jql': 'project=PROJECTKEY', # 注意修正原代码中项目键的拼写错误(PRKJECTKEY) 'startAt': 0, 'maxResults': 100 # 可选,默认返回50条,需遍历分页获取所有问题 } response = requests.request( "GET", url, headers=headers, auth=auth, params=query ) # 打印响应内容排查问题 print(response.status_code) print(response.json())
四、额外排查点
- 检查JQL中的项目键是否拼写正确,原代码中
PRKJECTKEY是拼写错误,需修正为实际项目键。 - 确认API令牌与你的账号绑定,且账号拥有目标项目的访问权限。
- 若账号开启了双重认证(2FA),必须使用API令牌,使用密码会直接返回401错误。
内容的提问来源于stack exchange,提问作者Panda
相关产品推荐
相关产品推荐

