Jira-Python的基本身份验证不再适用于REST API调用.接下来是什么



在python中,我曾经能够使用简单的代码在休息而在jira上进行身份验证:

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))

,然后能够做一些简单的事情:

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示例,该示例是使用从初始化转移到简单休息调用的基本身份验证以外的其他内容?

这将是最感激的!我有几个月的工作现在没有用,仅仅是因为我再也无法验证。

另外,如果您可以解释如何以及何时使用Jira允许您在其云实例上生成的API代币,那将被赞赏,因为我也不明白!

由于在基本验证中已经不建议使用密码,因此将使用API令牌(如您偶然发现的那样(。在您的代码中,您需要使用email代替usernameapiToken代替密码。在您的代码中应该是

# jira = JIRA(server, basic_auth = (my_JIRA_username, my_JIRA_pass))
jira = JIRA(server, basic_auth = (email, apiToken))

尝试一下,并告诉我们如何进行。

Atlassian的答案对我有很大帮助:

https://community.atlassian.com/t5/jira-questions/how-to-to-use-use-api-token-for-rest-rest-calls-calls-calls-in-python/qaq-p/760940

    #!/usr/bin/python3.6
# library modules
from jira import JIRA
user = 'me@here.com'
apikey = 'your0api0key0here'
server = 'https://SITE_NAME.atlassian.net'
options = {
 'server': server
}
jira = JIRA(options, basic_auth=(user,apikey) )
ticket = 'KRP-11697'
issue = jira.issue(ticket)
summary = issue.fields.summary
print('ticket: ', ticket, summary)

最新更新