首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JIRA的基本身份验证-Python不再适用于REST API调用。下一步呢?

JIRA的基本身份验证-Python不再适用于REST API调用。下一步呢?
EN

Stack Overflow用户
提问于 2019-06-22 04:43:37
回答 1查看 3.7K关注 0票数 1

在Python中,我曾经能够使用简单的代码在REST上使用JIRA进行身份验证:

代码语言:javascript
复制
from jira import JIRA

my_JIRA_username = 'my_name'
my_JIRA_pass = 'my_password'
server = {'server': 'https://my_site.atlassian.net'}
jira = JIRA(server, basic_auth = (my_JIRA_username, my_JIRA_pass))

然后就可以做一些简单的事情了,比如:

代码语言:javascript
复制
my_issue = jira.issue('MYISSUE-1')
print my_issue.key

但JIRA已经改变了一些事情,我猜不再允许通过REST API进行这样的基本身份验证。相反,我得到了一个401错误。

我试着创建一个API令牌,就像这里建议的那样:https://confluence.atlassian.com/cloud/api-tokens-938839638.html,除非我不知道在哪里使用它(如果我只是将它用作密码,就像上面的代码一样,它不起作用)。

我把OAuth作为一种替代方案,但我找不到任何从A点到B点的代码对我有任何意义。

取而代之的是我找到了这样的东西:https://bitbucket.org/atlassianlabs/atlassian-oauth-examples/src/master/python/app.py

这对我来说纯粹是胡言乱语。这不可能那么复杂!

有没有人能提供一个简单的jira-python示例,说明如何使用除基本身份验证之外的其他方法,从初始化转移到简单的REST调用?

非常感谢!我有几个月的工作现在是无用的,仅仅是因为我不再能进行身份验证。

此外,如果您能解释如何以及何时使用JIRA允许您在其云实例上生成的API令牌,将不胜感激,因为我也不理解这一点!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-06-25 08:17:50

由于在基本身份验证中已经不推荐使用密码,因此将使用API令牌来代替它(正如您偶然发现的那样)。在您的代码中,您需要使用email代替username,使用apiToken代替password。在你的代码中,它应该是

代码语言:javascript
复制
# jira = JIRA(server, basic_auth = (my_JIRA_username, my_JIRA_pass))
jira = JIRA(server, basic_auth = (email, apiToken))

试一试,并告诉我们它的进展如何。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56710224

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档